Таблица с адресами или регистрами, ассемблер x86 - PullRequest
0 голосов
/ 24 июня 2018

Я должен написать адресаты и значения регистров после операций.

Поля, выделенные курсивом, написаны мной.Поля, выделенные жирным шрифтом (например, инструкции), были написаны моим профессором.

Я пытался заполнить все поля, но не совсем уверен в ответе.Я был бы рад, если бы вы сказали мне, что не так, спасибо!:)

table with assembly answears

1 Ответ

0 голосов
/ 24 июня 2018

push eax сохраняет регистр в памяти . push имеет два выхода : ESP-=4 (регистр), а затем [ESP]=eax (адрес памяти). Я полагаю, вы можете разместить оба вывода в одной строке таблицы.

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


Ваша вторая ошибка в sub edx,ebx. EDX был обнулен предыдущей инструкцией, но EBX по-прежнему 0x200. sub выполняет двоичное вычитание без знака / 2, которое оборачивается, не насыщаясь до нуля. Попробуйте это в отладчике или в C с uint32_t.

...