Просмотр памяти

1.1. Введите команду DEBUG. В результате программа DEBUG должна загрузиться с диска в память. После окончания загрузки на экране появится приглашение в виде дефиса, что свидетельствует о готовности программы DEBUG для приема команд. В первую очередь изучим выполнение команды D (вывод дампа памяти на экран дисплея).

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

 

-- 400 - это адрес сегмента, который записывается как 40

(последний нуль подразумевается).

-- 13 - это смещение от начала сегмента.

 

Таким образом введите следующий запрос:

 

D 40:13

 

На экране появится дамп памяти. Первая строка дампа памяти начинается с:

 

0040:0010

 

Это означает, что сегмент памяти начинается с ячейки с адресом 400. Опрос ячеек начинается с ячейки с адресом 410, т.к. установлено смещение 0010 от начала сегмента памяти. Информация из ячеек с адресами 410, 411 и 412 на экран дисплея не выводится, т.к. в команде D указано смещение 13. Далее в первой строке выводится на экран из ячейки с адресом 413 число 80H, которое является младшим байтом информационного слова, из ячейки с адресом 414 число 02H, которое является старшим байтом информационного слова(возможен вывод других чисел, что зависит от типа компьютера).

Таким образом получают шестнадцатиричное обратное число 80 02. Шестнадцатиричное прямое число будет выглядеть 02 80 или 0280H. Это число и указывает количество килобайт доступной для работы памяти. Самостоятельно определить количество килобайт доступной памяти в десятичной системе счисления.

1.3. Вывести дамп памяти. Адрес первой ячейки сегмента FE000H, смещение 0. Для этого необходимо ввести команду:

 

D FE00:0

При этом в первой строке выводятся данные из ячеек с адресами FE000H-FE00FH, во второй строке выводятся данные из ячеек с адресами FE010H-FE01FH, и т.д. В целом дамп памяти выводит на экран данные из ячеек с адресами FE000H-FE07FH. Для вывода следующего дампа памяти начиная с адреса FE080H необходимо ввести команду:

 

D

 

В ячейках выведенных двух дампов памяти записаны коды символов в соответствии со стандартным кодом ASCII. Символы соответствующие каждому коду выводятся в правой части экрана для каждой строки дампа памяти. Символы составляют текст на английском языке в котором указаны: фирма производитель, тип используемого микропроцессора, версия базовой системы ввода-вывода BIOS, серийный номер компьютера и дата изготовления компьютера.

1.4. Вывести дамп памяти. Адрес первой ячейки сегмента FFFF0H, смещение 05. Для этого необходимо ввести команду:

 

D FFFF:05

 

При этом в дампе памяти выводится информация начиная с ячейки с адресом FFFF5H. В первой строке дампа памяти начиная с этой ячейки записаны коды символов которые отображаются в правой части экрана. Эти символы указывают дату создания постоянной памяти в которой записана базовая система ввода-вывода BIOS. Знание этой информации иногда бывает полезным для определения модели и возраста компьютера.

1.5. Для окончания работы и выходы из отладчика в DOS введите команду:

 

Q

 

2. Пример машинных кодов: непосредственные данные.

2.1. Загрузить программу DEBUG в память компьютера.

2.2. Подготовить программу на языке машинных кодов. Для примера рассмотрим программу состоящую из 9 команд: