Ассемблер и программирование для IBM PC


          

Для ответа на четвертый запрос


Start Stop Length Name
00000H 00015H 0016H CODESG 00020H 0007FH 0060H STACKSG
Ассемблер для IBM PC. Глава 4 85
Для ответа на четвертый запрос - нажмите Return, что укажет компановщику LINK принять остальные параметры по yмолчанию. Описание библиотечных средств можно найти в руководстве по DOS. На данном этапе единственной возможной ошибкой может быть yказание неправильных имен файлов. Исправить это можно только перезапуском программы LINK. В приложении 4 перечис лен ряд pежимов компановщика LINK.
ВЫПОЛНЕНИЕ ПРОГРАММЫ ------------------------------------------------------------
После ассемблирования и компановки программы можно (наконец-то!) выполнить ее. На рис. 4.2 приведена схема команд и шагов для ассемблирования, компановки и выполнения программы EXASM1. Если EXE-файл находится на дисководе B, то выполнить ее можно командой:
B:EXASM1.EXE или B:EXASM1
DOS предполагает, что файл имеет тип EXE (или COM), и загружает файл для выполнения. Но так как наша программа не вырабатывает видимых результатов, выполним ее трассировкой под отладчиком DEBUG. Введите
DEBUG B:EXASM1.EXE
В результате DOS загрузит программу DEBUG, который, в свою очередь, загрузит требуемый EXE-модуль. После этого отладчик выдаст дефис (-) в качестве приглашения. Для просмотра сегмента стека введите
D SS:0
Эту область легко узнать по 12-кратному дублированию константы STACKSEG. Для просмотра сегмента кода введите
D CS:0
Сравните машинный код с листингом ассемблера:
1E2BC050B823010525008BD803 ...
Непосредственные операнды, приведенные в листинге ассемблирования как 0123 и 0025 в памяти представлены в виде 2301 и 2500 соответственно. В данном случае листинг ассемблирования не вполне соответствует машинному коду. Все двухбайтовые адреса (слова) и непосредственные операнды в машинном коде хранятся в обратном порядке.
Ассемблер для IBM PC. Глава 4 86
Введите R для просмотра содержимого регистров и выполните прогpамму с помощью команды T (трассировка). Обратите внимание на воздействие двух команд PUSH на стек - в вершине стека теперь находится содержимое регистра DS и нулевой адрес. В процессе пошагового выполнения программы обратите внимание на содержимое регистров. Когда вы дойдете до команды RET, можно ввести Q (Quit - выход) для завершения работы отладчика. Используя команду dir, можно проверить наличие ваших файлов на диске:

Содержание  Назад  Вперед