Исследование процессов, происходящих в процессоре

Цель работы: Изучить возможности программы - отладчика 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.