指令说明:
DSUB是32位连续执行型减法运算指令。是将源操作数[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:运算结果小于-32768(16位运算)或-2147483648(32位运算)时,借位标记位动作 OFF:运算结果大于-32768(16位运算)或-2147483648(32位运算)时,借位标记位不动作 |
|
M8022 |
进位 |
ON:运算结果大于32767(16位运算)或2147483648(32位运算)时,进位标记位动作 OFF:运算结果小于32767(16位运算)或2147483648(32位运算)时,进位标记位不动作 |
操作数:
S1:KnX, KnY, KnM, KnS,T,C,D,K,H,Z,V,LV,DT,@
S2:KnX, KnY, KnM, KnS,T,C,D,K,H,Z,V,LV,DT,@
D:KnY, KnM, KnS, T,C,D,Z,V, LV,DT
指令格式:[DSUB S1 S2 D]
编程示例:
当X0闭合时,首先执行40000-30000=10000,D0的数据为10000,再执行D0-1000,D1的值为9000。
使用连续执行型的指令DSUB后,每个运算周期减法运算的结果都会变化。
