Retour à l'accueil | Contact : etienne"point"sauvage"at"gmail.com | Retour à la liste des instructions |
AAM | ASCII Adjust After MultiplyAjuste ASCII Après la Multiplication |
Convertit la valeur du registre AL en format binaire vers deux chiffres BCD dépaquetés dans les registres AL (moins significatif) et AH (plus significatif) en utilisant la formule suivante :
AH = ( AL/10d ) AL = ( AL mod 10d ).
Dans les assembleurs les plus modernes, l'instruction AAM ajuste vers des valeurs en base 10. Toutefois, en codant l'instruction directement en binaire, elle peut ajuster vers n'importe quelle base spécifiée par la valeur immédiate d'octet (ib) suffixée à l'opcode D4h (!Erreur dans la source). Par exemple, codez D408h pour de l'octal, D40Ah pour du décimal et D40Ch pour du duodécimal.
L'utilisation de cette instruction en mode 64-bit génère une exception d'opcode invalide.
Mnémonique | Opcode | Description |
AAM | D4 0A | Crée une paire de valeurs BCD dépaquetées dans AL et AH. (Invalide en mode 64-bit.) |
(None) | D4 ib | Crée une paire de valeurs dépaquetées vers la base donnée par l'octet immédiat. (Invalide en mode 64-bit.) |
AAA, AAD, AAS
ID | VIP | VIF | AC | VM | RF | NT | IOPL | OF | DF | IF | TF | SF | ZF | AF | PF | CF |
U | M | M | U | M | U | |||||||||||
21 | 20 | 19 | 18 | 17 | 16 | 14 | 13-12 | 11 | 10 | 9 | 8 | 7 | 6 | 4 | 2 | 0 |
Note : les bits 31-22, 15, 5, 3 et 1 sont réservés. Un drapeau mis à 1 ou nettoyé à 0 est M (modifié). Les drapeaux non affectés sont blancs. Les drapeaux non définis sont U. |
Exception | Réel | 8086 virtuel | Protégé | Cause de l'exception |
Division par zéro, #DE | X | X | X | La valeur immédiate 8-bit était un 0. |
Opcode invalide, #UD | X | Cette instruction a été exécutée en mode 64-bit. |
Source : AMD x86-64 Architecture PROGRAMMER'S MANUAL Volume 3 General-Purpose and System Instructions, 24594 Rev. 3.02 August 2002.
Retour à l'accueil | Contact : etienne"point"sauvage"at"gmail.com | Retour à la liste des instructions |