增加寄存器超过其限制。汇编语言添加

时间:2016-06-14 12:18:11

标签: assembly binary x86 increment cpu-registers

执行以下行后,EAX中的值是什么?

mov    eax, 1002FFFFh
inc    ax

答案是1002000h

我的问题是,为什么答案不是1003 0000h1002 0000h,考虑到我们最初的开头是32位,答案是32-4位。

1 个答案:

答案 0 :(得分:5)

你正在增加AX,这是16位,并溢出到0x0000
所以答案是0x10020000(不是你所说的0x1002000,可能是一个错字)

要得到0x10030000,你必须增加EAX