Reputation: 422
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:
I really need to solve this, any help will be welcome.
Upvotes: 1
Views: 3737
Reputation: 941685
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.
Upvotes: 9