0
有人可以告诉我如何比较ASM x64中的两个参数(RDI
和RSI
)吗?比较两个参数ASM x64
我对编译一个问题,当我使用:
cmp byte[rdi+rax],byte[rsi+rax]
我得到一个错误:
"error: invalid combination of opcode and operands"
有人可以告诉我如何比较ASM x64中的两个参数(RDI
和RSI
)吗?比较两个参数ASM x64
我对编译一个问题,当我使用:
cmp byte[rdi+rax],byte[rsi+rax]
我得到一个错误:
"error: invalid combination of opcode and operands"
cmp
指令,像大多数的x86/x86-64的指令,允许最多只有一个内存操作数。因此,要比较两个内存位置的内容,需要将其中至少一个加载到一个寄存器中:
mov cl, byte[rdi+rax]
cmp cl, byte[rsi+rax]
您不能有两个内存操作数。先将一个加载到一个寄存器中。 – harold 2012-03-25 17:08:19
好的,谢谢。像那样 :? MOV RCX,RDI CMP字节[RDI + RAX],字节[RCX + RAX] 我有一个错误太.. :( – Zat42 2012-03-25 17:13:10
喜欢的是:'MOV CL,字节[RDI + RAX]; CMP CL ,字节[rsi + rax]' – 2012-03-25 17:32:21