在操作数位移(位移)的情况下,检测操作数的数据类型宽度是否已被超出
理由如果移位操作超出数据类型宽度,则会生成一个常量0
。如果旋转移位超过数据类型宽度,则难以读取。因此,旋转值应该缩短。
重要性:高
示例
PROGRAM PLC_PRG VAR byTemp1 : BYTE; wTemp2 : WORD; dwTemp3 : DWORD; lwTemp4 : LWORD; END_VAR byTemp1 := SHR(byTemp1, BYTE#25); wTemp2 := SHL(wTemp2, BYTE#45); dwTemp3 := ROR(dwTemp3, BYTE#78); lwTemp4 := ROL(lwTemp4, BYTE#111); --> SA0053: Too big bitwise shift