DSUB

指令说明:

DSUB32位连续执行型减法运算指令。是将源操作数[S1+1,S1]和源操作数[S2+1,S2]的内容进行二进制减法运算后传送到目标操作数[D+1,D]中。

各数据位的最高位为正(0)、负(1)的符号位,这些数据以代数方式进行减法运算。

例:45000(-15000)=60000

[S1+1,S1][S2+1,S2]中指定常数(K)时,会自动进行BIN(二进制数)转换。

标志位的动作及数值的正负的关系,如下表所示:

软元件

名称

内容

M8020

置位

ON:运算结果为0时,M8020置位

OFF:运算结果为0以外时,M8020复位

M8021

借位

ON:运算结果小于-3276816位运算)或-214748364832位运算)时,借位标记位动作

OFF:运算结果大于-3276816位运算)或-214748364832位运算)时,借位标记位不动作

M8022

进位

ON:运算结果大于3276716位运算)或214748364832位运算)时,进位标记位动作

OFF:运算结果小于3276716位运算)或214748364832位运算)时,进位标记位不动作

操作数:

       S1KnX, KnY, KnM, KnS,T,C,D,K,H,Z,V,LV,DT,@

       S2KnX, KnY, KnM, KnS,T,C,D,K,H,Z,V,LV,DT,@

       DKnY, KnM, KnS, T,C,D,Z,V, LV,DT

指令格式:[DSUB  S1  S2  D]

编程示例:

X0闭合时,首先执行4000030000=10000D0的数据为10000,再执行D0-1000D1的值为9000

使用连续执行型的指令DSUB后,每个运算周期减法运算的结果都会变化。