@GogaGogin

Ассемблер, как выполняется перевод данного кода в объектный?

5f7b431d92ed0497123113.png
ADD AX,BX -> 01 C3
  • Вопрос задан
  • 221 просмотр
Пригласить эксперта
Ответы на вопрос 2
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
А при чём тут объектный код?
У вас исходный код на ассемблере и машинный код.
Перевод очень простой.
Берём таблицу опкодов и видим, что команде ADD r16, r16 соответствуют опкоды 01 и 03. Берём любой из них.
Второй байт формируется из двух битов режима Mod, для операции регистр-регистр это 11, и битов с номерами регистров AX - 000 и BX - 011. Записав полностью получаем 11000011 или C3.
Ответ написан
freeExec
@freeExec
Участник OpenStreetMap
Так то это в документации на процессор указывается, какие машинные инструкции обрабатываются и что они значат. Никакой логики, просто таблица соответствий одного в другое.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы