Skip to main content

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:

  • sa_icon_message.png SA0053 : Décalage au niveau du bit trop important