小编vis*_*was的帖子

AAA 在 8086 指令集中如何工作?

有一些关于指令如何工作的算法的信息:

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
Run Code Online (Sandbox Code Playgroud)

但是我面临的问题是当我用 00FF 和 00FA 之类的数字替换上面示例中的 15 时,AH 中的值会增加 02 而不是 01 !

为什么会有这些变化??

assembly masm

5
推荐指数
1
解决办法
3万
查看次数

标签 统计

assembly ×1

masm ×1