Исследование процессов, происходящих в процессоре
Цель работы: Изучить возможности программы - отладчика DEBUG и практически закрепить знания об устройстве и работе процессора.
Задание:
1. Просмотр даты выпуска ROM BIOS , которая занимает 8-байтную область памяти , начиная с адреса FFFF5h . Эта область содержит символы ASCII в общем американском формате дат , например , 06/01/93 - 1 июня 2003года . Её значение бывает полезным для определения модели и возраста компьютера . Введите :
-D FFFF:0005 L8
2. Просмотр идентификатора машины - это байт, расположенный по адресу FFFFEh . Значения идентификаторов для моделей IBM PC имеют следующие значения;
3. Просмотр информации в сегменте данных . Для этого вначале необходимо ввести данные в сегмент данных с помощью команды E(Enter) - команда изменения и исследования памяти (ввод).
-Е DS:00 (данные)
Команда Е записывает каждую пару 16-ричных цифр в память в виде байта , начиная с заданного адреса .Каждый байт данных, вводимый в память , записывается в команде через пробел . Необходимо записать в начало сегмента данных (DS:00) одной командой значения : 0123h , 0025h и 3791h ; а второй -три звёздочки (***). Их 16-ричное значение посмотреть в приложении 1: коды ASCII-символов.
4. Занесение и просмотр команд в сегмент кодов. Обычный стартовый адрес для сегмента кодов - CS:100 , так как выполняемые команды находятся, начиная именно с этого смещения , а верхние 100h (256) байт - это рабочая область , используемая DOS . Введите команды в машинных кодах:
1. В82301-переслать значение 0123h в АХ
2. 052500 - прибавить 0025h к АХ
3. 8BD8 - переслать содержимое АХ в ВХ
5. Выполнение команд из задания 4 и просмотр содержимого регистров и флагов .
Для просмотра регистров используется команда R(Register) :-R
AX=0000 BX=0000 ...
Если указать в команде имя регистра , то DEBUG выведет только его содержимое . при этом оно может быть изменено , например :
-R АХ
АХ=0000
: ЗА7 (изменённое значение)
Это часто используется , когда необходимо начать выполнение команд заново или с определённого значения регистра ГР . Команда R -показывает также по смещению 0100h первую выполняемую машинную команду , например :
13С6:0100 В82301 MOV AX0123
В данный момент команда пересылки ещё не выполнена , для её выполнения необходимо ввести команду Т(Трасе) - трассировка , которая выполняет одну инструкцию за шаг и затем показывает содержимое регистров и следующую по очереди команду . И так до полного выполнения программы .
Контрольные вопросы:
1. Какие регистры входят в состав процессора?
2. Какое функциональное значение этих регистров?
3. К каким форматам относятся выполняемые в задание 5 команды?
4. Какой размер у этих команд?
5. Чем отличается сегментный адрес от абсолютного ? Объяснить на примере задания 2.
Содержание отчета:
1. Цель работы.
2. Ход выполнения практической работы:
- списанное с экрана дисплея содержимое регистров, флагов и командной строки
- содержимое сегмента данных и кода
- дамп памяти с датой выпуска ROM BIOS и идентификатором машины.
3. Анализ полученных результатов: дать объяснение информации, списанной с экрана дисплея для заданий 3,4 и 5 Расписать какой адрес имеет каждое записанное в сегмент данных 16-ное значение и каждая записанная в сегмент кодов команда. Объяснить, почему именно так изменилось содержимое регистров и командной строки .
4. Ответы на контрольные вопросы.
Практическая работа № 4.