Кто-то может сказать мне, как сравнить два аргумента (RDI и RSI) в ASM x64?
RDI
RSI
У меня проблема с компиляцией при использовании:
cmp byte[rdi+rax],byte[rsi+rax]
Я получаю сообщение об ошибке:
"error: invalid combination of opcode and operands"
cmp, как и большинство инструкций x86 / x86-64, допускает не более одного операнда памяти.Итак, для сравнения содержимого двух ячеек памяти вам необходимо загрузить хотя бы одно из них в регистр:
cmp
mov cl, byte[rdi+rax] cmp cl, byte[rsi+rax]