0

有人可以告诉我如何比较ASM x64 中的两个参数(RDI和)?RSI

我在使用时遇到编译问题:

cmp byte[rdi+rax],byte[rsi+rax]

我收到一个错误:

"error: invalid combination of opcode and operands"
4

1 回答 1

4

cmp与大多数 x86/x86-64 指令一样,指令最多允许一个内存操作数。因此,要比较两个内存位置的内容,您需要将其中至少一个加载到寄存器中:

mov cl, byte[rdi+rax]
cmp cl, byte[rsi+rax]
于 2012-04-23T15:52:52.837 回答