指令说明:
SUB是16位连续执行型减法运算指令。是将源操作数S1和源操作数S2的内容进行二进制减法运算后传送到目标操作数D中。
各数据位的最高位为正(0)、负(1)的符号位,这些数据以代数方式进行减法运算。
例:115-15=100
S1和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
指令格式:[SUB S1 S2 D]
编程示例:
X0接通,SUB指令执行,D0-D1=D2,也就是100-60=40。D2的值为40。
执行16位储存空间的减法指令,D0、D1、D2里面的数据最大不能超过32767。
