Retour à l'accueil Contact : etienne"point"sauvage"at"gmail.com Retour à la liste des instructions

AAD

ASCII Adjust Before Division


Ajuste 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émoniqueOpcodeDescription
AADD5 0AAjuste deux chiffres en BCD dans AL et AH.
(Invalide en mode 64-bit.)
(None)D5 ibAjuste deux chiffres en BCD vers la base donnée par l'octet immédiat.
(Invalide en mode 64-bit.)

Instructions apparentées

AAA, AAM, AAS

rFLAGS affectés

IDVIPVIFACVMRFNTIOPLOFDFIFTFSFZFAFPFCF
UMMUMU
2120191817161413-1211109876420
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.

Exceptions

ExceptionRéel8086
virtuel
ProtégéCause de l'exception
Opcode invalide, #UDXCette 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