Assembleur 68000 | ASL |
---|---|
Motorola 68000+ | Arithmetic Shift Left |
Syntaxe
ASL Dx, Dy ASL #data, Dy ASL ea |
Paramètres
Nom | Description |
---|---|
ea | Ce paramètre permet d'indiquer une adresse effective d'une opérande à décaler. |
data | Ce paramètre permet d'indiquer une valeur immédiate de compteur de décalage. |
Dx | Ce paramètre permet d'indiquer le registre de destination. |
Dy | Ce paramètre permet d'indiquer le registre source. |
Description
Cette instruction permet d'effectuer un décalage des bits de l'opérande vers la gauche et le dernier bit reçoit la valeur du bit de retenue. Le compteur de décalage pour le décalage d'un registre peut être spécifiés de 2 manières différentes : une valeur immédiate (le compteur de décalage est spécifié dans l'instruction dans l'intervalle de 1 à 8), un registre (le compteur de décalage est la valeur dans le registre de données spécifié dans l'instruction de modulo 64). La taille de l'opération peut être un octet, un mot ou un long mot. Une opérande en mémoire peut être décalé d'un seul bit et la taille de l'opérande est restreinte à un mot. Les bits décalés du bit de poids fort vont à la fois aux bits de retenue et d'extensions; les zéros sont décalés dans le bit de poids faible. Le bit de débordement indique si des changements se produisent pendant le décalage.
Algorithme
MODULE ASL(Compteur,Destination) Destination ← Destination décalage vers la gauche Compteur |
Registre de codes de condition
Cette instruction affectera les bits de drapeau du registre de codes de condition de la façon suivante :
Nom du drapeau | Description |
---|---|
X | Ce bit vaut 1 si le dernier bit est décalé en dehors de l'opérande mais n'est pas affecté pour un compteur de décalage de 0. |
N | Ce bit vaut 1 si le bit le plus significatif du résultat est défini autrement ce bit vaut 0 |
Z | Ce bit vaut 1 si le résultat est zéro, autrement il vaut 0. |
V | Ce bit vaut 1 si le bit le plus significatif est modifié à tout moment durant le décalage sinon vaut 0. |
C | Ce bit vaut 1 si le dernier bit est décalé en dehors de l'opérande mais reste inchangé pour un compteur de décalage de 0. |
Voir également
Langage de programmation - Assembleur 68000 - Référence d'instructions - ASR
Langage de programmation - Assembleur 68000 - Référence d'instructions - LSL
Langage de programmation - Assembleur 68000 - Référence d'instructions - ROL