是否可以在两个整数直接数之间进行比较,例如cmp $1, $2
或test $1, $2
?
我一直从gcc/as得到错误消息,说"后缀或操作数无效的cmp"。确切的行是
cmpq $2, $1001
x86要求无论其中一个操作数是寄存器,所以这是不可能的。
建议:因为它是两个直接的,如果你的代码不是自我修改的,你可以基于结果和手动优化剩余的代码,并替换那些读取标志的操作与那些不适当的