Assembleur 68000 | ASR |
---|---|
Motorola 68000+ | Arithmetic Shift Right |
Syntaxe
ASR Dx, Dy ASR #data, Dy ASR 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 droite 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 faible vont à la fois aux bits de retenue et d'extensions; les bits de signe (MSB) est décalé dans le bit de poids fort.
Algorithme
MODULE ASR(Compteur,Destination) Destination ← Destination décalage vers la droite 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 - ASL
Langage de programmation - Assembleur 68000 - Référence d'instructions - LSR
Langage de programmation - Assembleur 68000 - Référence d'instructions - ROR