Retour à l'accueil | Contact : etienne"point"sauvage"at"gmail.com | Retour à la liste des instructions |
AAD | ASCII Adjust Before DivisionAjuste ASCII Avant la Division |
Convertit deux chiffres BCD dépaquetés dans les registres AL (moins significatif) et AH (plus significatif) en une valeur binaire simple dans le registre AL en utilisant la formule suivante : AL = ((10d * AH) + (AL)). Après la conversion, AH est nettoyé à 00h.
Dans les assembleurs les plus modernes, l'instruction AAD ajuste à partir de valeurs en base 10. Toutefois, en codant l'instruction directement en binaire, elle peut ajuster à partir de n'importe quelle base spécifiée par la valeur immédiate d'octet (ib) suffixée à l'opcode D5h. Par exemple, codez D508h pour de l'octal, D50Ah pour du décimal et D50Ch 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 |
AAD | D5 0A | Ajuste deux chiffres en BCD dans AL et AH. (Invalide en mode 64-bit.) |
(None) | D5 ib | Ajuste deux chiffres en BCD vers la base donnée par l'octet immédiat. (Invalide en mode 64-bit.) |
AAA, AAM, 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 |
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 |