Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.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_Assemblies_Disassembly_Gnu Assembler - Fatal编程技术网

Assembly 错误:没有给出指令助记符后缀,也没有寄存器操作数

Assembly 错误:没有给出指令助记符后缀,也没有寄存器操作数,assembly,x86,assemblies,disassembly,gnu-assembler,Assembly,X86,Assemblies,Disassembly,Gnu Assembler,因此,基本上我正在尝试在Linux 32位上使用objdump重新使用从ELF binary反汇编的一些asm代码 在反汇编代码中,我看到: repnz scas 当我试图重新编译它时(使用gcc),我得到了以下错误: Error: no instruction mnemonic suffix given and no register operands 我认为这是一个法律指令,我只是不知道这里出了什么问题 谁能给我一些帮助吗?正如错误消息所说,汇编程序无法计算操作数大小,因为没有后缀或寄存

因此,基本上我正在尝试在Linux 32位上使用
objdump
重新使用从
ELF binary
反汇编的一些asm代码

在反汇编代码中,我看到:

repnz scas
当我试图重新编译它时(使用
gcc
),我得到了以下错误:

Error: no instruction mnemonic suffix given and no register operands
我认为这是一个法律指令,我只是不知道这里出了什么问题


谁能给我一些帮助吗?

正如错误消息所说,汇编程序无法计算操作数大小,因为没有后缀或寄存器操作数。您必须从上下文(或者在您的情况下是机器代码)中计算出来,但可能需要字节大小的操作,因此您应该使用
scasb
。at&t的其他选项与往常一样,即分别为16位或32位的
scasw
scasl

正如错误消息所述,汇编程序无法计算操作数大小,因为没有后缀或寄存器操作数。您必须从上下文(或者在您的情况下是机器代码)中计算出来,但可能需要字节大小的操作,因此您应该使用
scasb
。其他选项将与at&t相同,即分别为16位或32位的
scasw
scasl