SA0053 : Décalage binaire trop important
Détecte si oui ou non la largeur du type de données de l'opérande a été dépassée dans le cas d'un décalage binaire (décalage binaire) des opérandes
Justification : Si une opération de décalage dépasse la largeur du type de données, une constante 0
est généré.
Si un décalage de rotation dépasse la largeur du type de données, il est difficile à lire et la valeur de rotation doit donc être tronquée.
Importance : Élevée
Exemple 63. Exemple
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);
Sortie dans le messages voir:
SA0053 : Décalage au niveau du bit trop important