Assembleur 80x86 | AAS |
---|---|
INTEL 8088+ | Ascii Adjust al after Subtraction |
Syntaxe
AAS |
Description
A l'aide de cette instruction, on peut adapter le résultat de la soustraction de 2 nombre de format DCB. Étant donné que le processeur soustrait ces valeurs comme s'il s'agissait de chiffres normales, des débordements se produisent dans les résultats. La commande AAS rectifie cela. Cette instruction ne peut fonctionner qu'avec des nombres sur 8 bits. Elle transforme la valeur placée après la soustraction dans le registre AL en une valeur DCB acceptable.
Remarques
- Si la soustraction produit une retenue décimal, le registre AH diminue de 1 et les drapeaux CF et AF sont définis. Si aucune retenue décimal ne s'est produit, les drapeaux CF et AF sont effacés et le registre AH reste inchangé. Dans les deux cas, le registre AL est laissé avec ses 4 bits supérieurs mis à 0.
- L'instruction AAS n'est pas support dans le Long Mode proposé par le mode 64 bits x86-64 de Intel 64 et AMD64.
Algorithme
MODULE AAS * Vaut 1 si c'est vrai AL inférieur ← AL < 6 SI ( AL ∩ 0Ah ) U ( AF = 1 ) ALORS AL ← ( AL - 6 ) ∩ 0Fh AH ← AH - 1 AL inférieur Drapeau CF ← 1 Drapeau AF ← 1 SINON AL ← AL ∩ 0Fh Drapeau CF ← 0 Drapeau AF ← 0 FIN SI |
Mnémonique
Instruction | Opcode | Description |
---|---|---|
AAS | 3Fh | Crée un nombre dépacter BCD à partir du contenu du registre AL (invalide en mode 64-bits) |
Cycles d'horloge
Instruction | 8086 | 80286 | 80386 | i486 | Taille |
---|---|---|---|---|---|
AAS | 8 | 3 | 4 | 3 | 1 |
Exceptions
Message | Mode réel | Virtuel 8086 | Mode protégé | Description |
---|---|---|---|---|
#UD(Opcode invalide) | X | Cette instruction est exécuté en mode 64-bits |
Exemple
L'exemple suivant permet de charger le caractère ASCII 7, de soustraire le caractère ASCII 1 et de retourner le résultat dans le registre AX :
Voir également
Instruction assembleur 80x86 - Instruction AAA
Instruction assembleur 80x86 - Instruction AAD
Instruction assembleur 80x86 - Instruction AAM
Le livre d'Or PC, Martin Althaus, 1992, ISBN: 2-7361-0934-1, page 802
AMD64 Architecture Programmer's Manual Volume 3: General-Purpose and System Instructions, Edition Advanced Micro Devices, Revision 3.14, September 2007, Publication No. 24594, page 56.
Intel® 64 and IA-32 Architectures Software Developer’s Manual Volume 2A: Instruction Set Reference, A-M, Edition Intel, Mars 2010, Publication No. 253666-034US, page 73 à 74.