- •1.Эвм и ее архитектура. Назначение аппаратных средств.
- •2.Принцип работы компьютера(принцип Неймона)
- •3.Системный блок и его предназначение
- •4, 5. Принтеры и их классификация. Ударные и безударные принтеры.
- •6. Мониторы. Классификация дисплеев
- •7, 23. Клавиатура. Технологии реализации клавиатур. Клавиатура и принципы ее работы.
- •8. Микропроцессор и его основные характеристики.
- •9, 10, 11 Математический сопроцессор. Основные команды сопроцессора. Типы данных.
- •12.Программирование вычислений с вещественными числами
- •13. Программирование вычислений с целыми числами
- •14.Прерывания
- •15. Аппаратные и программные прерывания
- •16. Маскируемые и немаскируемые прерывания
- •17. Прерывания bios
- •18. Прерывания dos
- •19. Старт компьютера
- •20. Функции прерывания dos int 21h.
- •21. Управление вводом-выводом
- •22. Резидентные программы
- •23. Клавиатура и принципы ее работы
- •24. Ввод символов с клавиатуры
- •25.26. Таймер. Установка даты и времени
- •27. Параллельный порт.
- •28. Последовательный порт
- •29. Вывод символа на печать
- •30, 31, 32 Программирование диска. Создание файла, его переименование. Удаления файла. Создание каталога и его удаление. Установка текущего каталога
- •33. Контроллер прерываний. Приоритеты опоздания источника прерывания.
16. Маскируемые и немаскируемые прерывания
Программы на ассемблере могут запретить аппаратные прерывания. Это маскируемые прерывания; другие аппаратные прерывания, возникающие при некоторых ошибках (таких, как деление на ноль), не могут быть маскированы. Существуют две причины для запрета аппаратных прерываний.
В первом случае все прерывания блокируются, с тем, чтобы критическая часть кода была выполнена целиком, прежде чем машина произведет какое-либо другое действие. Например, прерывания запрещают при изменении вектора аппаратного прерывания, чтобы избежать выполнения прерывания, когда вектор изменен на половину.
Во втором случае маскируются только определенные аппаратные прерывания. Это делается, когда некоторые прерывания могут взаимодействовать с операциями, критичными к временным интервалам. Например, точно рассчитанная по времени процедура ввода/вывода не может себе позволить быть прерванной длительным дисковым прерыванием.
Выполнение прерываний зависит от значения флага прерывания (бит 9) в регистре флагов. Когда этот бит равен 0, разрешены все прерывания, которые разрешает маска. Когда он равен 1, все аппаратные прерывания запрещены.
17. Прерывания bios
Прерывания 00 - 1F относятся к BIOS, а прерывания 20 - FF относятся к DOS и BASIC.
Прерывание заносит в стек содержимое флагового регистра, регистра CS и регистра IP. Например, для прерывания INT 12Н, которое возвращает в регистре АХ размер памяти, адрес элемента таблицы равен 0048 (12Н х 4 = 48Н). Операция выделяет четырехбайтовый элемент по адресу 0048 и заносит два байта в регистр IP и два байта в регистр - CS. Адрес, который получается в регистровой паре CS:IP, представляет собой адрес начала подпрограмм в области BIOS, которая получает управление. Возврат из этой подпрограммы осуществляется командой IRET (INTERRUPT RETURN), которая восстанавливает флаги и регистры CS и IP из стека и передает управление на команду, следующую за выполненной командой прерывания.
Рассмотрим основные прерывания BIOS:
INT 05Н - печать экрана. Данная операция маскирует прерывания и сохраняет позицию курсора.
INT 11Н - запрос списка присоединенного оборудования. Определяет наличие различных устройств в системе и результата помещает в регистр АХ.
INT 12Н - запрос размера физической памяти. Возвращает в регистр АХ размер памяти в килобайтах.
INT 19Н - перезапуск системы.
INT 1АН - запрос и установка текущего времени и даты.
18. Прерывания dos
Прерывания от INT 20Н до INT 62Н зарезервированы для операций DOS. К основным операциям DOS относятся:
INT 20Н - завершение программы. Запрос завершает выполнение программы и передает управление в DOS. Данный запрос обычно находится в основной процедуре.
INT 21Н - запрос функции DOS. Основная операция DOS, вызывающая определенную функцию в соответствии с кодом в регистре АН.
INT 27Н - завершение программы, оставляющее ее резидентной. Эта операция позволяет сохранить COM-программу в памяти.
19. Старт компьютера
При включении компьютера процессор устанавливает состояние сброса, осуществляет контроль четности. В регистре CS устанавливает значение FFFF0H, а в регистре IP - нуль. Первая выполняемая команда по этому адресу FFFF:0 или FFFF0, что является точкой входа в BIOS. Система BIOS проверяет различные порты компьютера для определения и инициализации подключенных устройств. Затем BIOS создает в начале памяти (по адресу 0) таблицу прерываний, которая содержит адреса обработчиков прерываний, и выполняет две операции: INT 11Н (запрос списка присоединенного оборудования) и INT 12Н (запрос размера физической памяти).
Следующим шагом BIOS определяет, имеется ли на диске или дискете операционная система DOS. Если обнаружена системная дискета, то BIOS выполняет прерывание INT 19Н для доступа к первому сектору диска, содержащему блок начальной загрузки. Этот блок представляет собой программу, которая считывает системные файлы IBMBIO.COM и IBMDOS.COM с диска в память.
Операнд в команде прерывания, например INT 12Н, содержит тип прерывания, который идентифицирует запрос. Для каждого типа система содержит адрес в таблице векторов прерываний, начинающийся по адресу 0000. Так как в таблице имеется 256 четырехбайтовых элементов, то она занимает первые 1024 байта памяти от 0 до 3FF. Каждый элемент таблицы указывает на подпрограмму обработки указанного типа прерывания и содержит адрес кодового сегмента и смещение, которые при прерывании устанавливаются в регистры CS и IP соответственно.
