命令がどのように機能するかについて、アルゴリズムに関するいくつかの情報があります。
if low nibble of AL > 9 or AF = 1 then:
AL = AL + 6
AH = AH + 1
AF = 1
CF = 1
else
AF = 0
CF = 0
in both cases:
clear the high nibble of AL.
Example:
MOV AX, 15 ; AH = 00, AL = 0Fh
AAA ; AH = 01, AL = 05
RET
しかし、私が直面している問題は、上記の例の 15 を 00FF や 00FA などの数字に置き換えると、AH の値が 01 ではなく 02 ずつ増加することです!!
これらの変更はなぜですか??