SA0053: Zu große bitweise Verschiebung
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 63. 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);
Ausgabe unter Ansicht Meldungen:
SA0053: Zu große bitweise Verschiebung