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 x86 movzx指令——要求澄清_Assembly_X86 - Fatal编程技术网

Assembly x86 movzx指令——要求澄清

Assembly x86 movzx指令——要求澄清,assembly,x86,Assembly,X86,我今天遇到了两条指令,它们以我不熟悉的形式出现: movzx eax,byte ptr MODULE!My_Function+0xcd4 (00692e84)[eax] jmp dword ptr Module!My_Function+0xc7c (00692e2c)[eax*4] 我知道它想在eax中移动一个字节并进行零扩展,但这些指令末尾的方括号是什么?这是反汇编程序的输出吗?你能给我看一下这些函数的机器码吗?这些只是你常用的有效地址语法。唯一复杂的是您友好的反汇编程序插入符号

我今天遇到了两条指令,它们以我不熟悉的形式出现:

movzx   eax,byte ptr MODULE!My_Function+0xcd4 (00692e84)[eax]
jmp     dword ptr Module!My_Function+0xc7c (00692e2c)[eax*4]

我知道它想在eax中移动一个字节并进行零扩展,但这些指令末尾的方括号是什么?

这是反汇编程序的输出吗?你能给我看一下这些函数的机器码吗?这些只是你常用的有效地址语法。唯一复杂的是您友好的反汇编程序插入符号和值。实际代码读取
movzx-eax,字节ptr[00692e84+eax]
。反汇编程序认为您可能想知道
00692e84
靠近符号
模块!我的函数
,偏移量为
0xcd4
@Jester我猜它一定是一个有效地址,但我想确定一下。在我看来,这仍然没有意义
dds 00692e84+eax l1
似乎包含另一个函数的地址。我不确定那是什么意思。(我忘了提到我正在使用Windbg来探索这一点。)我们无法从这么多的信息中确切地说出这意味着什么。加载到
eax
中的值是跳转表的索引,不应该是地址。@Jester你说得对。这是我在这一点上的问题,但谢谢你确认我原来的问题!