0

ASM x64 で2 つの引数 ( RDIand ) を比較する方法を教えてください。RSI

以下を使用すると、コンパイルに問題があります。

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

エラーが発生します:

"error: invalid combination of opcode and operands"
4

1 に答える 1

4

cmp命令は、x86/x86-64 命令の大部分と同様に、最大で 1 つのメモリ オペランドを許可します。したがって、2 つのメモリ位置の内容を比較するには、少なくとも 1 つをレジスタにロードする必要があります。

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