# #assembly #x86 #x86-64 #disassembly
Вопрос:
call [edi 0x21]
Допустимо ли для набора инструкций x86-64? Согласно руководству Intel, FF /2 действителен только для r/m64, но это онлайн-кодер/декодер, который я тестирую с помощью выходов 67 ff 57 21
. Является ли инструмент, который я использую, неправильным, или мое понимание неверно?
Ответ №1:
Размер адреса и размер операнда независимы. Даже если вы используете 32-разрядный адрес, операнд памяти все равно может иметь 64-разрядный размер. Так что да, call [edi 0x21]
это допустимая инструкция 64-битного режима, и кодировка 67 ff 57 21
тоже правильная.