cmp DWORD [ebp - 25],[ebp + 12]导致错误

时间:2015-01-07 18:45:35

标签: assembly x86 nasm

以下说明导致invalid combination of opcode and operands错误:

cmp DWORD [ebp - 25], [ebp + 12]

我认为DWORD用于防止此类错误!

我也尝试了以下但仍然是同样的错误:

cmp DWORD [ebp - 25], DWORD [ebp + 12]

1 个答案:

答案 0 :(得分:4)

通常,在x86上,不支持内存到内存操作。

您需要先将其中一个参数加载到寄存器中。然后,您可以将该注册内容与另一个内存位置进行比较E.g:

mov eax, DWORD [ebp - 25] 
cmp eax, [ebp + 12]