cmp DWORD [ebp - 25], [ebp + 12] 导致错误
cmp DWORD [ebp - 25], [ebp + 12] is causing an error
以下指令导致 invalid combination of opcode and operands
错误:
cmp DWORD [ebp - 25], [ebp + 12]
我还以为DWORD
是用来防止这样的错误呢!
我也试过以下但还是一样的错误:
cmp DWORD [ebp - 25], DWORD [ebp + 12]
通常,在 x86 上,不支持内存到内存操作。
您需要先将其中一个参数加载到寄存器中。然后您可以将该寄存器内容与另一个内存位置进行比较。例如:
mov eax, DWORD [ebp - 25]
cmp eax, [ebp + 12]
以下指令导致 invalid combination of opcode and operands
错误:
cmp DWORD [ebp - 25], [ebp + 12]
我还以为DWORD
是用来防止这样的错误呢!
我也试过以下但还是一样的错误:
cmp DWORD [ebp - 25], DWORD [ebp + 12]
通常,在 x86 上,不支持内存到内存操作。
您需要先将其中一个参数加载到寄存器中。然后您可以将该寄存器内容与另一个内存位置进行比较。例如:
mov eax, DWORD [ebp - 25]
cmp eax, [ebp + 12]