标签: assembly
是否可以在两个整数immediates之间进行比较,例如cmp $1, $2或test $1, $2?
cmp $1, $2
test $1, $2
我不断收到来自gcc / as的错误消息,说"后缀或操作数对cmp"无效。确切的行是
cmpq $2, $1001
答案 0 :(得分:1)
x86要求无论何时其中一个操作数是寄存器,所以这是不可能的。
建议:因为它是两个即时的,并且如果您的代码不是自我修改的,您可以基于结果并手动优化剩余的代码,并将读取标志的操作替换为不适当的操作。