Assembly 错误:没有给出指令助记符后缀,也没有寄存器操作数
因此,基本上我正在尝试在Linux 32位上使用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 我认为这是一个法律指令,我只是不知道这里出了什么问题 谁能给我一些帮助吗?正如错误消息所说,汇编程序无法计算操作数大小,因为没有后缀或寄存
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