web-dev-qa-db-fra.com

Différence entre SHL et SAL en 80x86

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?

24
Hossein Mobasher

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

4
ARISTOS

Il n'y a pas de différence, à part Intel et AMD, qui souhaitent déconseiller les licences d'accès distantes dupliquées.

4
Alexey Frunze

Ils sont les mêmes si vous utilisez la direction de gauche.

1
That coworker

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é.

1
jcomeau_ictx