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



         

ГЛАВА 2. Выполнение программ - часть 11


по завершению на экране будет следующая информация:

хххх:0100 MOV AL,25 хххх:0102 MOV BL,32 хххх:0104 ADD AL,BL хххх:0106 RET

В этот момент отладчик готов к приему следующей команды. При нажатии Return операция будет прекращена. Можно видеть, что отладчик определил стартовые адреса каждой команды. Прежде чем выполнить программу, проверим сгенерированные машинные коды.

Команда U

Команда отладчика U (Unassemble) показывает машинные коды для команд ассемблера. Необходимо сообщить отладчику адреса первой и последней команды, которые необходимо просмотреть (в данном cлучае 100 и 106). Введите:

U 100,106 [и Return]

и на экране появится

хххх:0100 B025 MOV AL,25 хххх:0102 B332 MOV BL,32 хххх:0104 00D8 ADD AL,BL хххх:0106 C3 RET

Теперь проведем трассировку выполнения программы, начиная с команды R для вывода содержимого регистров и первой команды программы. С помощью команд T выполним последовательно все команды программы. Теперь вы знаете, как вводить программу в машинном коде или на языке ассемблера. Обычно используется ввод на языке ассемблера, когда машинный код неизвестен, а ввод в машинном коде - для изменения программы во время выполнения. Однако в действительности программа DEBUG предназначена для отладки программ и в следующих главах основное внимание будет уделено использованию языка ассемблера.

Сохранение программы из отладчика

Можно использовать DEBUG для сохранения программ на диске в следующих случаях:

Ассемблер для IBM PC. Глава 2 42

1. После загрузки программы в память машины и ее модифика ции необходимо сохранить измененный вариант. Для этого следует: ъ загрузить программу по ее имени: DEBUG n:имяфайла[Return] ъ просмотреть программу с помощью команды D и ввести изменения по команде E, ъ записать измененную программу: W [Return]

2. Необходимо с помощью DEBUG написать небольшую по объему программу и сохранить ее на диске. Для этого следует: ъ вызвать отладчик DEBUG, ъ с помощью команд A (assemble) и E (enter) написать программу, ъ присвоить программе имя: N имяфайла.COM [Return]. Тип программы должен быть COM (см. главу 6 для пояснений по COM-файлам). ъ Так как только программист знает, где действительно кончается его программа, указать отладчику длину программы в байтах. В последнем примере концом программы является команда




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