Каскадирование PIC в IBM PC/AT

В IBM PC/AT количество внешних устройств, которые могут подавать запрос на прерывание, превышает 8. Для обработки такого количества запросов применяют каскадирование микросхем 8259A. Выход INT ведомой микросхемы поступает на вход IR2 ведущей микросхемы (вот почему IR2 был в резерве)


Запросы IRQ8 - IRQ15 обслуживаются векторами int 70h – int 77h

Значит, ICW2 имеет вид:

 
 


(у номеров запроса 8-15 отбрасывается старший разряд)

IRQ8 - часы реального времени

IRQ9 - прерывание от контроллера EGA

IRQ10 -12 резерв

IRQ13 - математический сопроцессор

IRQ14 - контроллер жесткого диска

IRQ15 - резерв

Адреса портов

INTB00 EQU OA0h

INTB01 EQU OA1h

Поэтому если мы пишем свою программу обработки прерывания для устройства, подключенного к ведомому контроллеру 8259А, то заканчивать ее надо командами:

cli

mov al, EOI

out INTB00, al

IRET


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: