IRQ

From Atariki

(Różnice między wersjami)
Jump to: navigation, search
Wersja z dnia 15:08, 11 lip 2005
KMK (Dyskusja | wkład)
(Atari XL/XE)
← Previous diff
Wersja z dnia 15:09, 11 lip 2005
KMK (Dyskusja | wkład)

Next diff →
Linia 25: Linia 25:
* INTER - przerwanie wywołane przez PORT B układu [[PIA]]; sygnał ten wyprowadzony jest na [[gniazdo SIO]] jako pin ''INTERRUPT''; * INTER - przerwanie wywołane przez PORT B układu [[PIA]]; sygnał ten wyprowadzony jest na [[gniazdo SIO]] jako pin ''INTERRUPT'';
* BRKIRQ - Break IRQ - przerwanie programowe wywołane rozkazem BRK; * BRKIRQ - Break IRQ - przerwanie programowe wywołane rozkazem BRK;
 +
 +
 +[[Kategoria:Atari 8-bit]]

Wersja z dnia 15:09, 11 lip 2005

IRQ - ang. Interrupt ReQuest - przerwanie maskowalne (a właściwie prośba o przerwanie)

Rodzaj przerwania, które procesor może zignorować, jeśli programista sobie tego zażyczy; a to w odróżnieniu od NMI, które zignorowane być nie może.

Atari XL/XE

W procesorze 6502 i 65c02 główny wektor przerwania IRQ znajduje się pod adresem $FFFE.

W procesorze 65c816 wektor ten jest pod $00FFFE, kiedy procesor jest w trybie emulacji 6502. W trybie natywnym 65c816 adres procedury obsługi IRQ pobierany jest spod $00FFEE.

IRQ może zostać zablokowane przez ustawienie znacznika I w rejestrze znaczników procesora.

W procesorach tych nie ma żadnej koncepcji priorytetów przerwań, ustala je OS na drodze programowej kontrolując po kolei wszystkie możliwe źródła wystąpienia IRQ. W Atari priorytet obsługi jest następujący (w kolejności od najwyższego do najniższego):

  • SERIN - Serial Input - przerwanie odczytu danych z szyny szeregowej
  • PIRQ - Parallel IRQ - przerwanie wywołane przez urządzenie podłączone do szyny równoległej
  • SEROUT - Serial Output - przerwanie zapisu na szynę szeregową
  • XMTDONE - Transmit Done - przerwanie końca transmisji szeregowej
  • TIMER1 - przerwanie zegara nr 1 układu POKEY
  • TIMER2 - przerwanie zegara nr 2 układu POKEY
  • TIMER4 - przerwanie zegara nr 4 układu POKEY
  • KBDIRQ - Keyboard IRQ - przerwanie klawiatury
  • BREAKIRQ - Break key IRQ - przerwanie klawisza Break
  • PROCEED - przerwanie wywołane przez PORT A układu PIA; sygnał ten wyprowadzony jest na gniazdo SIO jako pin PROCEED;
  • INTER - przerwanie wywołane przez PORT B układu PIA; sygnał ten wyprowadzony jest na gniazdo SIO jako pin INTERRUPT;
  • BRKIRQ - Break IRQ - przerwanie programowe wywołane rozkazem BRK;
Personal tools