Assembly 这行汇编代码是做什么的?
我知道这行代码将某些内容移动到eax寄存器中,但是什么可以呢 dword ptr[edx+15Ch]怎么办Assembly 这行汇编代码是做什么的?,assembly,x86,Assembly,X86,我知道这行代码将某些内容移动到eax寄存器中,但是什么可以呢 dword ptr[edx+15Ch]怎么办 mov eax, dword ptr [edx + 15Ch] 它是否将edx中的值加上15C=Q,然后将地址Q中的值加载到eax中? 如果是这样,那么dword ptr在本文中的含义是什么 是的,它就是这样做的 因为寄存器已经是32位,所以这里的dword ptr修饰符是多余的,但有时有必要告诉汇编程序,当不能直接推断数据时,它应该处理什么类型的数据。比如说 push dword pt
mov eax, dword ptr [edx + 15Ch]
它是否将edx中的值加上15C=Q,然后将地址Q中的值加载到eax中?
如果是这样,那么dword ptr在本文中的含义是什么 是的,它就是这样做的 因为寄存器已经是32位,所以这里的
dword ptr
修饰符是多余的,但有时有必要告诉汇编程序,当不能直接推断数据时,它应该处理什么类型的数据。比如说
push dword ptr [edx + 15Ch]
是的,就是这样
dword ptr
只是一个大小规范,但从eax
目标中,大小是显而易见的。那么,dword指定大小,ptr指定Q是指向某个内存位置的地址?这些信息对CPU有用吗?dword ptr
只是一个语法元素,一些汇编程序只使用dword
其他程序使用大小后缀。cpu只看到机器代码,这些东西只是帮助汇编程序在指令不明确时选择正确的指令。在这种情况下,eax
已经指定了大小。需要指定大小的另一个dword内存访问:mov dword ptr[edx+15Ch],1