1. подсистему ПДП, функционально эквивалентную каскадному включению двух контроллеров ПДП 8237 и микросхемы регистра страниц
ПДП (DMA Cntlr, DMA ADD Map, Map Select);
2.подсистему маскируемых прерываний, функционально эквивалентную каскадному включению двух контроллеров прерываний типа 8259 (Intr Cntlr);
3. программируемый интервальный таймер;
4. регистр конфигураций;
5. логику ожидания для ПДП;
6. устройство часов реального времени.
Структурная схема интегрированного периферийного контроллера приведена на рис.3. Сигналы обозначены в латинской аббривиатуре для совместимости с таблицей цоколевки выводов СБИС 82С206.
Таким образом, одна СБИС заменяет 4 БИС и устройства средней степени интеграции. С точки зрения программиста процесс управления остается без изменения, т.е. обеспечивается полная программная совместимость с предыдущими моделями. Поэтому приемы обработки прерываний, рассматриваемые здесь, пригодны для архитектур на основе любых процессоров типа Intel 80x86 и им подобных.
Функция |
Назначение |
Входные параметры |
Ожидаемые действия |
Int 16 |
|||
Int 17 |
|||
Int |
|||
Int 23 |
Указание на программу обработки ситуации, когда на клавиатуре нажаты клавиши Ctrl+Break |
Выполнение действий, предусмотренных системой в ответ на нажатие клавиш Ctrl+Break |
Т а б л и ц а П2
Основной параметр (содерж-имое ре-гистра ah) |
Содержание функции |
Дополнитель-ные входные параметры |
Выходные параметры, результат вызова функции, примечания |
ah = 01h |
Ввод символа (с клавиатуры) |
В регистр al помещается символ из стандартного входного потока Ожидается символ из стандартного устройства ввода. Если обнаружи-вается Ctrl-Break, то выполняется функция Int 23 (см.) |
|
ah = 02h |
Вывод символа |
В dl прадвари-тельно должен быть помещен выводимый символ |
Посылает символ из dlв стандартный выходной поток. Если обнаружи-вается Ctrl-Break, то выполняется функция Int 23 (см.) |
ah = 05h |
Печать символа |
печат |
Посылает символ из dlв стандартный принтер (обычно LPT1) |
ah = 06h |
Консольный ввод/вывод |
В dl — символ для вывода или код 0ffh требования ввода |
Если dl = (0…0feh), то это символ для вывода в стандартный выходной поток. Если dl = 0ffh то это код, который требует ввода символа из стандартного входного потока. Функция возвращает |
ah = 09h |
Вывод строки (текста) |
ds:dx — адрес строки, ограниченной символом ‘$’ |
Строка символов, начиная с адреса ds:dx и до символа ‘$’, направляется в стандартный поток |
ah = 025h |
Установка нового вектора прерывания в IDT |
al = номер (код) преры-вания (число в диапазоне от 0 до 0ffh), ds:dx — указатель на начало обработчика прерывания |
|
ah = 035h |
Чтение вектора прерывания |
al= номер (код) прерывания |
es:bx — указатель на программу обработки прерывания |
ah = 03fh |
Чтение файла |
||
ah = 040h |
Запись в файл |
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.