Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная работа3.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
231 Кб
Скачать
☆

2. Распределение адресного пространства в реальном режиме.

В зависимости от модификации персонального компьютера и его состава распределение адресного пространства может различаться. Однако, размещение основных компонентов MS DOS в реальном режиме строго унифицировано.

Сведения о распределении обычной памяти:

1 кбайт

Векторы прерываний

00000-00400h

Стандартная (базовая)

память

(640 кбайт)

256 байт

Область данных BIOS

00400-00500h

512 байт

Область данных DOS

00500-00700h

Io.sys, Msdos.sys

Загружаемые драйверы

Command.com(резидентная часть)

Свободная память для загружаемых прикладных и системных программ

- A0000h

64 кбайт

Графический буфер VGA

A0000-B0000h

Верхняя

память

(384 кбайт)

32 кбайт

UMB

B0000-B8000h

32 кбайт

Тестовый буфер VGA

B8000-C0000h

64 кбайт

ROM расширения BIOS

C0000-D0000h

64 кбайт

UMB

D0000-E0000h

128 кбайт

ROM BIOS

E0000-100000h

64 кбайт

HMA

100000-10FFF0h

Расширенная память

Более 1 Мбайт

XMS

100000-

В процессе развития IBM совместимых компьютеров была разработана спецификация для дополнительной памяти EMS(Expended Memory System), т.е. любой дополнительной памяти свыше 640 кбайт. Эта память первоначально могла быть на основной системной плате, так и на адаптерной плате памяти. Поскольку ещё могут использоваться программы, использующие эту разновидность памяти, её можно создать путем эмуляции из расширенной памяти с помощью программы emm386.exe. Ключи данного драйвера могут быть следующие: auto; noems; i=b000-b800 (принудительный доступ в блоки UMB); RAM; HIGHSCAN. Использование в сочетании с этим драйвером директивы DOS= UMB позволяет использовать память UMB для загрузки DOS.

Расширенной памятью XMS (eXtended Memory System) называют оперативную память за пределами 1 Мбайт. Так как первоначально в MS DOS не предполагалось работать с оперативной памятью более 640 кбайт, то для работы с XMS необходимо использовать драйвер верхней памяти himem.sys. Ключи данного драйвера могут быть следующие: /testmem:{on|off}; /shadowram:{on|off}; /verbose; /hmamin=40; /numhandles=128. Использование в сочетании с этим драйвером директивы DOS=HIGH позволяет использовать память HMA для загрузки DOS.

Проверка памяти.

Для получения сведений о распределении оперативной памяти необходимо использовать внешнюю команду DOS mem.exe, справки о командах DOS можно получить с помощью стандартной процедуры в режиме командной строки

2. Работа с эмулятором процессора 8086

Запустить эмулятор процессора 8086, изучить его возможности и выполнить следующие задания:

2.1. проверить работу программ вывода текста Hello world в виде .com и .exe файлов. Показать отличия в исполняемом коде(привести примеры в отчете с комментариями). Провести пошаговое выполнение, указать использование регистров и методов адресации. Обосновать использование прерываний. Пример Hello world в виде .com файла имеется в эмуляторе, файл Hello world в форме .exe файла см. практикум за 2 курс.

2.2. провести программирование внешних виртуальных устройств в эмуляторе(по выбору преподавателя)

Traffic lights

Stepper motor

Printer

Led display

VGA_State

3. Изучение режима виртуального процессора V86.

3.1. с помощью программ утилит операционной системы mem.exe, debug.exe определить распределение памяти в режиме V86 и состояние регистров V86. Определить адрес текущей команды и указать ее назначение. Определить в чем отличие работы прерываний в реалном режиме и в V86

Контрольные вопросы

  1. технические характеристики и особенности архитектуры процессора 8086

  2. структура процессора 8086

  3. причины введения очереди команд, преимущества и недостатки.

  4. основные характеристики реального режима процессоров х86

  5. распределение памяти в реальном режиме

  6. способы адресации и логический адрес х86 режима.

  7. применение сегментных регистров в реальном и защищенном режиме.

  8. Регистры общего назначения процессора 8086

  9. Виды оперативной памяти и распределение адресного пространства в реальном режиме и в режиме V86.

  10. Как определить область в памяти для подпрограмм обслуживания прерывания (номер прерывания по выбору преподавателя)

  11. Как происходит обращение к внешним портам в реальном режиме.