我尝试汇编以下指令:
cmp 5, 6
Run Code Online (Sandbox Code Playgroud)
但我收到以下错误:
invalid combination of opcode and operands
Run Code Online (Sandbox Code Playgroud)
因此,我将前面的指令编辑为:
cmp DWORD 5, DWORD 6
Run Code Online (Sandbox Code Playgroud)
但是我仍然遇到相同的错误,所以在汇编中比较立即值是非法的吗?
在根据汇编器的x86汇编中(例如tasm,masm或nasm),您不能将立即数或变量彼此进行比较。您必须将其中一个或两个都放入寄存器中。像这样:
mov ax, 5
cmp ax, 6
Run Code Online (Sandbox Code Playgroud)
要么
mov ax, 5
mov bx, 6
cmp ax, bx
Run Code Online (Sandbox Code Playgroud)
妳去