有人可以告诉我如何在ASM x64中比较两个参数(RDI
和RSI
)吗?
我使用时遇到编译问题:
cmp byte[rdi+rax],byte[rsi+rax]
我收到了一个错误:
"error: invalid combination of opcode and operands"
答案 0 :(得分:4)
cmp
指令最多允许一个内存操作数。因此,要比较两个内存位置的内容,您需要将其中至少一个加载到寄存器中:
mov cl, byte[rdi+rax]
cmp cl, byte[rsi+rax]