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 “dword ptr”是什么意思?_Assembly_X86_Dword_Pointers - Fatal编程技术网

Assembly “dword ptr”是什么意思?

Assembly “dword ptr”是什么意思?,assembly,x86,dword,pointers,Assembly,X86,Dword,Pointers,有人能解释一下这是什么意思吗?(英特尔语法,x86,Windows) dword ptr部件称为尺寸指令。解释它们,但无法直接链接到正确的部分 基本上,它意味着“目标操作数的大小为32位”,因此这将按位计算,地址处的32位值通过获取ebp寄存器的内容并用0减去4来计算。请考虑。 ebp-4是您的第一个局部变量,作为dword指针,它是必须清除的32位整数的地址。 也许你的消息来源是从 Object x = null; 这是一个32位的声明。如果在汇编文件的顶部键入语句[bits 32],则无需

有人能解释一下这是什么意思吗?(英特尔语法,x86,Windows)


dword ptr
部件称为尺寸指令。解释它们,但无法直接链接到正确的部分

基本上,它意味着“目标操作数的大小为32位”,因此这将按位计算,地址处的32位值通过获取
ebp
寄存器的内容并用0减去4来计算。

请考虑。
ebp-4
是您的第一个局部变量,作为dword指针,它是必须清除的32位整数的地址。 也许你的消息来源是从

Object x = null;

这是一个32位的声明。如果在汇编文件的顶部键入语句[bits 32],则无需键入DWORD PTR。例如:

[bits 32]
.
.
and  [ebp-4], 0

“dword”中的“d”代表“double”。一个字是16位的。有关更多参考信息,请访问此部分。为什么需要
PTR
部分?难道dword不足以对大小进行编码吗?NASM不使用
ptr
AFAIK。@JeremyP单词平均值随处理器的变化而变化。读完这篇文章后,你能再说一遍单词是16位吗?或者你只是定义单词的简单含义,意思是两个字节<代码>现代处理器,包括嵌入式系统,通常字长为8、16、24、32或64位,而现代通用计算机通常使用32或64位。@uzay95问题被标记为“x86”,因此我们专门讨论Intel x86体系结构,其中一个字的宽度为16位。根据您的文章,即使x86_64也有16位的字大小。
[bits 32]
.
.
and  [ebp-4], 0