I want to know how exactly MOV BYTE PTR instruction works, I have one example here that I can't understand the result. Check it:

MOV CL,BYTE PTR DS:[ESI]

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

Why CL = B0? Why CL isn't 41? If I go to ESI in dump, I have this

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

Check my print:

mov byte ptr

I really need to solve this, any help will be welcome.

有帮助吗?

解决方案

It is because the debugger is stopped at that instruction, it wasn't actually executed yet. You'll have to single-step one more time to see the CL register updated with the content of memory.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top