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



         

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


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

дефиса, что свидетельствует о готовности программы DEBUG для приема команд. Единственная команда, которая имеет oтношение к данному упражнению, это D - для дампа памяти.

1. Размер памяти. Сначала проверим размер доступной для работы памяти. В зависимости от модели компьютера это значение связано с установкой внутренних переключателей и может быть меньше, чем реально существует. Данное значение находится в ячейках памяти шест.413 и 414 и его можно просмотреть из DEBUG по адресу, состоящему из двух частей:

ъ 400 - это адрес сегмента, который записывается как 40 (последний нуль подразумевается) и ъ 13 - это смещение от начала сегмента. Таким образом, можно ввести следующий запрос:

D 40:13 (и нажать Return)

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

Шест.обратн. Шест. норм. Десятичн. (К)

8000 0080 128 0001 0100 256 8001 0180 384 0002 0200 512 8002 0280 640

2. Серийный номер. Серийный номер компьютера "зашит" в ROM по адресу шест. FE000. Чтобы увидеть его, следует ввести:

D FE00:0 (и нажать Return)

В результате на экране появится семизначный номер компьютера и дата копирайт.

3. Дата ROM BIOS. Дата ROM BIOS в формате mm/dd/yy находит ся по шест. адресу FFFF5. Введите

D FFFF:05 (и нажмите Return)

знание этой информации (даты) иногда бывает полезным для определения модели и возраста компьютера.

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

Теперь, поскольку вы знаете, как пользоваться командой D (Display), можно устанавливать адрес любой ячейки памяти для просмотра содержимого. Можно также пролистывать память, периодически нажимая клавишу D, - DEBUG выведет на экран адреса, следующие за последней командой. Для окончания работы и выхода из отладчика в DOS введите команду Q (Quit). Рассмотрим теперь использование отладчика DEBUG для непосредственного ввода программ в память и трассировки их выполнения.




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