Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
27
Добавлен:
20.06.2014
Размер:
1.08 Mб
Скачать

Порядок выполнения работы

Написать на языке ассемблера программу, выполняющую определенную задачу в защищенном режиме.

Исходные данные вводятся в память с клавиатуры, результаты выводятся на дисплей также в защищенном режиме.

Основную задачу должна выполнять дальняя подпрограмма.

Главная программа последовательно читает массив введенных с клавиатуры исходных данных из памяти и передает текущий элемент массива подпрограмме через стек. Подпрограмма проверяет исходные данные на допустимость или корректность, при положительном исходе проверки осуществляет преобразование и возвращает результат основной программе. Основная программа размещает результаты в другой области памяти также в виде массива. Затем они выводятся на дисплей.

Исследовать работу программы, отслеживая состояние системы после выполнения команд: значения регистров процессора, ячеек памяти, портов ввода-вывода. Результаты анализа работы программы оформить в виде дополнения к листингу.

Выполнить необходимые сравнения, сделать выводы.

Общие признаки всех вариантов:

  1. Размер операндов — двойное слово.

  2. Использование, по крайней мере, одной дальней подпрограммы.

  3. Использование IDT для ввода данных с клавиатуры.

Признаки формирования вариантов:

  1. Формат ввода данных с клавиатуры и вывода результатов на дисплей.

  2. Задача.

Сравнения:

  1. GDT и IDT.

  2. Несистемный дескриптор и шлюз прерывания.

  3. Вызов ближней и дальней подпрограммы в защищенном режиме.

Содержание отчета

  1. Задание, конкретизированное вариантом.

  2. Листинг программы, дополненный результатами исследования.

  3. Сравнения и выводы по результатам исследования программы и выполненным сравнениям.

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

  1. Почему после включения питания процессор работает в реальном, а не в защищенном режиме?

  2. Каков максимальный размер GDT для процессоров семейства IA-32?

  3. Каков максимальный размер GDT для процессоров семейства Intel64?

  4. Каков максимальный размер IDT для процессоров семейства IA-32?

  5. Каков максимальный размер IDT для процессоров семейства Intel64?

  6. Используется ли IDTR в реальном режиме?

  7. Каково максимальное количество дескрипторов в GDT?

  8. Каково максимальное количество дескрипторов в IDT?

  9. Каково максимальное количество шлюзов прерывания в IDT?

  10. Что общего и различного в использовании сегментных регистров в реальном и защищенном режимах?

  11. В каких регистрах и структурах данных может находиться селектор сегмента?

  12. Все ли типы дескрипторов имеют селекторы?

  13. Какие типы дескрипторов не описывают сегменты?

  14. Каков максимальный размер сегмента в защищенном режиме для процессоров семейства IA-32?

  15. Каков размер сегмента DSeg32 в примере PM3O_PFG.asm?

  16. Нужна ли установка стека реального режима по выходе из защищенного режима в примере PM3O_PFG.asm?

  17. Изменяется ли дескриптор при выполнении программы?

  18. Что общего и различного между GDT и IDT?

  19. Что общего и различного между несистемным дескриптором и шлюзом прерывания?

  20. Какие таблицы дескрипторов являются отдельными сегментами?

  21. Что общего и различного в механизмах обработки прерываний в реальном и защищенном режимах?

  22. Нужна ли загрузка IDTR по выходе из защищенного режима в примере PM4IO.asm?

Контрольные задания

  1. Определить значение GDTR при данной базе первого сегмента.

  2. Определить значение IDTR при данной базе первого сегмента.

  3. Выделить команды, изменяющие значения сегментных регистров.

  4. Выделить системные команды.

  5. Определить размер определенного сегмента в программе.

  6. Пояснить механизм поиска операнда в защищенном режиме.

  7. Пояснить механизм перехода к обработчику прерывания в защищенном режиме.

Библиографический список

  1. Архитектуры и типологии многопроцессорных вычислительных систем: Учеб. пособие для вузов [Текст] / А. В. Богданов, В. В. Корхов, В. В. Мареев, Е. Н. Станкова. - М. : ИНТУИТ.РУ, 2004. - 176 с.

  2. Голубь, Н. Г. Искусство программирования на ассемблере [Текст] / Н. Г. Голубь. - 3-е изд., перераб. и доп. - СПб. : Питер, 2006. - 820 с.

  3. Хорошевский, В. Г. Архитектура вычислительных систем [Текст] / В. Г. Хорошевский. - М. : МГТУ им. Баумана, 2005.

  4. Зубков, С. В. Assembler [Текст] / С. В. Зубков. - М. : ДМК, 1999. - 640 с.

  5. Микропроцессоры и микропроцессорные комплекты интегральных микросхем : Справочник в 2-х тт. [Текст] / В. Б. Абрайтис и др. ; Под ред. В. А. Шахнова. - М. : Радио и связь, 1988. Т.1 - 368 с.

  6. Пильщиков, В. Н. Программирование на языке ассемблера IBM PC [Текст] / В. Н. Пильщиков. - М. : "ДИАЛОГ-МИФИ", 1996. - 288 с.

  7. Еременко, Ю. И. Архитектура, принципы функционирования и управление ресурсами IBM PC : Уч. пос. [Текст] / Ю. И. Еременко, Л. А. Кузнецов, А. Я. Скляров. - Старый Оскол : ТНТ, 2003. - 420 с.

  8. Магда, Ю. С. Аппаратное обеспечение и эффективное программирование [Текст] / Ю. С. Магда. - СПб. : Питер, 2007. - 352 с.

  9. Магда, Ю. С. Ассемблер для процессоров Intel Pentium [Текст] / Ю. С. Магда. - СПб. : Питер, 2006. - 410 с.

  10. Таненбаум, Э. Архитектура компьютера [Текст] / Э. Таненбаум. - 4-е изд. - СПб. : Питер, 2003. - 704 с.

  11. Таненбаум, Э. Архитектура компьютера [Текст] / Э. Таненбаум. - 4-е изд. - СПб. : Питер, 2005. - 699 с.

  12. Таненбаум, Э. Архитектура компьютера [Текст] / Э. Таненбаум. - 5-е изд. - СПб. : Питер, 2007. - 844 с.

  13. Хамакер, К. Организация ЭВМ [Текст] / К. Хамакер, З. Вранешич, С. Заки СПб. : Питер, 2003.

  14. Юров, В. И. Assembler : Учеб. для вузов [Текст] / В. И. Юров. - 2-е изд. - СПб. : Питер, 2004. - 687 с.

Соседние файлы в папке Задания к лабораторным