[英]Can I compare (CMP) immediate values in Assembly?
我尝试汇编以下指令:
cmp 5, 6
但我收到以下错误:
invalid combination of opcode and operands
因此,我将前面的指令编辑为:
cmp DWORD 5, DWORD 6
但是我仍然遇到相同的错误,所以在汇编中比较立即值是非法的吗?
在根据汇编器的x86汇编中(例如tasm,masm或nasm ),您不能将立即数或变量彼此进行比较。 您必须将其中一个或两个都放入寄存器中。 像这样:
mov ax, 5
cmp ax, 6
要么
mov ax, 5
mov bx, 6
cmp ax, bx
妳去
不,这是不可能的。 x86指令集没有针对立即数的此类操作的操作码,并且汇编编译器也无法在此处解释它们。
您可以将单个立即数与寄存器或内存中的值进行比较。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.