Ermittelt bei bitweiser Verschiebung (Bitverschiebung) von Operanden, ob die Datentypbreite des Operanden überschritten wurde.
Begründung: wenn eine Verschiebeoperation über die Datentypbreite hinausgeht, dann
erzeugt man eine Konstante 0
. Wenn eine Rotationsverschiebung über die Datentypbreite hinausgeht, dann ist das
schwer zu lesen und der Rotationswert sollte deswegen gekürzt werden.
Wichtigkeit: Hoch
Beispiel
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: Zu große bitweise Verschiebung