J'ai appris à travailler avec un assembleur 80x86. Ainsi, lors d'opérations de décalage par bits, je rencontrais un problème d'utilisation des licences SAL et SHL. I signifie la différence entre les lignes de code comme suit:
MOV X, 0AAH
SAL X, 4
MOV X, 0AAH
SHL X, 4
Quand faut-il utiliser SHL et quand utiliser SAL? Quelle est la différence entre eux?
shl et sal sont identiques. Ils ont le même code machine.
shr et sar sont ET NON identiques. Ils ont presque le même code machine.
Cochez this .
Il n'y a pas de différence, à part Intel et AMD, qui souhaitent déconseiller les licences d'accès distantes dupliquées.
Ils sont les mêmes si vous utilisez la direction de gauche.
ils fonctionnent de la même façon, car un décalage arithmétique est identique à un décalage au niveau du bit lorsque celui-ci est à gauche (croissant). Par contre, sar sera différent de shr si le bit de signe est activé.