1

我想知道 MOV BYTE PTR 指令究竟是如何工作的,我这里有一个例子,我无法理解结果。核实:

MOV CL,BYTE PTR DS:[ESI]

----Ollydbg show this------
DS:[01EA22E0]=41 ('A')
CL=B0

为什么 CL = B0?为什么CL不是41?如果我在转储中去 ESI,我有这个

01EA22E0: 41 47 00 C5 B9 F1 63 3C... But any B0 ;(

检查我的打印:

mov 字节指针

我真的需要解决这个问题,欢迎任何帮助。

4

1 回答 1

7

这是因为调试器在该指令处停止,它实际上还没有执行。您必须再单步执行一次才能看到 CL 寄存器随着内存内容的更新而更新。

于 2013-10-11T21:21:18.203 回答