据我所知,dword ptr是一个大小指令,表示移动内容的大小,我知道mov eax,eax是一种nop代码,但是这样做有什么作用?
我认为它将eax的地址与里面的十六进制值交换,但我不太确定甚至不知道为什么会发生这种情况.
小智 7
它使用EAX最初指向的DWORD值加载EAX.
在C术语中,它取消引用最初在EAX中保存的值,如下所示:"eax =*eax"
说明:
mov eax, eax
Run Code Online (Sandbox Code Playgroud)
可能是一个nop代码,但这不是你在这里的.您正在从内存加载,如[]"contents-of"字符所示.
它加载eax与所述内容的存储器(32位dword当前被指出,在这种情况下)eax.
也许图形图片会有所帮助:
Before:
eax: 0x12345678
memory @ 0x12345674: 0xeeeeeeee
8: 0xffffffff
After:
eax: 0xffffffff
memory @ 0x12345674: 0xeeeeeeee
8: 0xffffffff
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9521 次 |
| 最近记录: |