Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ассемблер.doc
Скачиваний:
14
Добавлен:
30.04.2019
Размер:
120.32 Кб
Скачать

3. Система ввода - вывода, адресное пространство ввода - вывода (порты), схема распределения адресного пространства портов ввода вывода. Команды ввода - вывода.

Все устройства ЭВМ принято делить на внутренние и внешние. Внутренне устройства центрального процессора, внешние все остальные (внешняя память, клавиатура, дисплей, принтер и т.д.)

Под вводом выводом принимают обмен между ЦП и другими внешними устройствами.

Передача информации между ЦП и внешними устройствами осуществляется через порты. Порт - некоторый регистр размером в байт или слово. Порты размещаются от 0 до 00FFFF (216). Следовательно, возможно подключить 65536 порта одновременно, но реально всего 1024 устройства (2'°).

Чтение из порта осуществляется командой out (out ах, 21h), in (in ах, 21h).

Номера портов могут быть заданы двояко либо явным числом от 0 до 255, либо регистром dх, в который записывается номер порта (mov dx? 21h____ in ах,dх).

Порты могут быть 8-р или 16р. Адресное пространство ввода вывода эта пространство, которое не сегментируется и имеет размер 63 Кб, доступ к нему осуществляется только с помощью команд out или in.

4 Система прерываний МП. Общее понятие о прерываниях, какими они могут быть. Основные источники или типы прерываний. Внешние прерывания. Внутренние прерывания. Вектор прерывания. Таблица указателей векторов прерываний.

Прерывания – сигнал, заставляющий процессор прервать выполнение программы и перейти к другой. В случае возникновения прерывания процессор вызывает соответствующую процедуру, по окончанию исполнения которой возвращается к прерванному коду. Процессором могут выполняться прерывания 256 типов, каждому из которых соответствует свой вектор прерывания –адрес, определяющий начало подпрограммной обработки соответствующего прерывания.

По происхождению прерывания делятся на внутренние (прерывания процессора) и внешние (запросы от внешних устройств). Внутренние прерывания называются исключениями, выбираются процессором по особым условиям, возникающим при исполнении очередной инструкции. DIV 0- вырабатывается после выполнения деления на 0. ТRАСЕ - вырабатывается после выполнения каждой команды при установлении флага трассировки IР. INT 0 - вырабатывается, когда происходит переполнение. INTN программные прерывания генерируются командой int.

Внешние прерывания (аппаратные) делятся по приоритетам от 0 до 7. Внешние прерывания делятся на маскируемые(обычные) и немаскируемые(аппаратные). Контролер прерываний запроса выполняет сортировку по приоритетам, передачу в МП, осуществляет запрет прерываний.

Обработчик прерываний - это программа, предназначенная для обслуживания запросов на прерывания.

Адреса, образованных прерываний называются вектором прерывания и для хранения векторов используются 1 КБ. В начале выполнения прерывание процессор помещает в сегментный регистр флагов.

Отбрасывает бит разрешения прерывания IР=0. Сбрасывает флаг трассировки IР=0. сохраняется в стеке СS:IР. IР=[N*4] выбирается адрес обработки. СS=(М*4+2]

Считывание команды по адресу СS:IР (переход и выполнение обработка прерывания). По инструкции контроллер извлекает из стека адреса возврата и сохранение значение регистра флага.

Таблица векторов прерывания - это таблица размером 1 КБ, которая содержит адреса (вектора) обработчиков прерываний.