Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Assembly 这行汇编代码是做什么的?_Assembly_X86 - Fatal编程技术网

Assembly 这行汇编代码是做什么的?

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

我知道这行代码将某些内容移动到eax寄存器中,但是什么可以呢 dword ptr[edx+15Ch]怎么办

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