Регистры процессора 8086
Цель работы: изучить назначение регистров процессора 8086 и основные принципы использования регистров для управления работой процессора. Изучить способ сегментирования памяти процессора 8086.
1. Отладчик DEBUG
Запуск отладчика.
Для запуска отладчика выполните команду cmd. В командной строке введите команду debug. Приглашение отладчика «-»
Список команд отладчика.
Для вывода списка команд отладчика введите символ «?»
2. Регистры как переменные.
Представление содержимого регистров
Содержимое регистров выводится на экран по команде R
Пример:
-r
AX=0000 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000
DS=0ACA ES=0ACA SS=0ACA CS=0ACA IP=0100 NV UP EI PL NZ NA PO NC
0ACA:0100 3E DS:
0ACA:0101 62 DB 62
Задание 1
Назовите регистры общего назначения (РОН).
Определите, какие значения в них записаны?
Скопируйте результат в отчет. Для этого в левом верхнем углу окна отладчика откройте меню редактирования, выберите пункт «Пометить», выделите в окне на экране нужную область текста, выберите в меню пункт «Копировать», перейдите в окно блокнота, и выполните вставку.
|
|
Изменение значений в регистрах
Для записи данных в определенный регистр используется команда R <имя регистра>
Пример:
-r AX
AX 0000
:23
-r AX
AX 0023
:
Задание 2.
Введите в РОН шестнадцатеричные числа 56h, 1F3h, D8h, AB1h. Просмотрите содержимое всех регистров. Внесите результат в отчет
Введите во все РОН нулевые значения.
Проверьте содержимое регистров
3. Размещение двухбайтовых инструкций процессора в ячейках памяти
Задание 3.
Из каких частей состоит адрес ячейки памяти в реальном режиме работы процессора?
Укажите размер сегмента в адресуемой памяти процессора в реальном режиме.
Какой наименьший сдвиг возможен между начальными байтами последовательных сегментов?
Определите текущие адреса сегмента данных и сегмента кода.
Запись числа в память
Для записи числа в ячейку памяти используется команда E <смещение>
|
-E 100
0ACA:0100 3E.01
| |||||
| |||||
| |||||
-E 101
0ACA:0101 62.D8
-r
AX=0023 BX=0000 CX=0000 DX=0000 SP=FFEE BP=0000 SI=0000 DI=0000
DS=0ACA ES=0ACA SS=0ACA CS=0ACA IP=0100 NV UP EI PL NZ NA PO NC
0ACA:0100 01D8 ADD AX,BX
Из полученного результата видно, что отладчик интерпретирует двухбайтную инструкцию по адресу 0ACA:0100 как операцию сложения ADD значений регистров AX и BX