您现在的位置是:首页 > PLC技术 > PLC技术

S7 300/400有符号数右移指令

来源:艾特贸易2017-06-05

简介有符号字的移位位数允许值为 0 ~ 255 。移位位数 16 时,累加器低字为 16#0000 , CC 1 为 0 ;或累加器低字为 16#FFFF , CC 1 为 1 。换句话说,因为移位次数超过被移位数的位数,移位后被

    有符号字的移位位数允许值为0255。移位位数>16时,累加器低字为16#0000CC 10;或累加器低字为16#FFFFCC 11。换句话说,因为移位次数超过被移位数的位数,移位后被移位数的各位全部变成了符号位。如果0<移位位数≤16,状态字的CC0OV被清零。有符号双字的移位位数>32时,移位后累加器1所有的位和CC1取符号位的值。

    下面的有符号数右移指令SSI用指令中的<number>来指定移位位数:

   L    MW    4    //MW4的内容装入累加器1的低字

   SSI    6    //累加器1低字的有符号数右移6位,结果仍在累加器1的低字

   T    MW    8    //累加器1低字的运算结果传送到MW8

    3-15给出了移位前后累加器1中的二进制数的值,累加器低字中的数字为负数,右移6位后低字的高位添了61。移位前后累加器1的高字没有变化。

    3-15    整数右移6位前后的数据

整数右移6位前后的数据