LINUX.ORG.RU

Есть ли способ красиво указать NASM-у, какой опкод из нескольких подходящих юзнуть?

 


0

2

Пытаюсь поковырять дизассемблированный MBR так, чтобы при сборке обратно в бинарник он в точности совпадал с оригиналом. В некоторых местах не вполне очевидно, как это делать.

К примеру, имеем такую инструкцию:

mov si,sp
В справочнике указаны два вот таких варианта опкода:
89 /r  |  MOV r/m16,r16
8B /r  |  MOV r16,r/m16
В данном случае подходят оба варианта, т.к. оба аргумента - регистры, но в оригинале используется второй вариант, а NASM выдаёт мне первый. Есть ли способ мягко (т.е. без костылей типа ручного задания машинного кода через db) намекнуть NASM-у, что здесь нужно использовать второй опкод?


Вроде, такое можно только в GAS (префиксы {load} и {store}).

mky ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.