234 9. Wykorzystanie procedur systemowych w programach użytkowych
Przerwania sprzętowe (IRQ) generowane przez układ 8259 (INT 8-FH)
INT 08H - przerwanie z zegara czasu rzeczywistego (IRQ0); w procesorze 80186 wewnętrzny układ czasowy generuje przerwanie (Timer 0).
INT 09H - przerwanie z klawiatury (IRQ1) pozwala wprowadzić kod przyciśniętego bądź zwolnionego klawisza z układu wejściowego o adresie 60H. Procedura zamienia odczytany kod na odpowiedni kod ASCII i wpisuje go do bufora.
INT OAH - w niektórych komputerach klasy IBM PC/XT przerwanie związane ze sterownikiem transmisji szeregowej (COM3), najczęściej niewykorzystane. Dla komputera klasy IBM AT przerwanie z drugiego, kaskadowo połączonego układu 8259.
INT OBH - przerwanie od sterownika transmisji szeregowej COM2 (IRQ3 nie używane przez BIOS).
INT OCH - przerwanie od sterownika transmisji szeregowej COM1 (IRQ4).
INT ODH - przerwanie od układu wyjściowego LPT2 (IRQ5), dla IBM PC ewentualnie od układu COM4 lub innego).
INT OEH - przerwanie od sterownika dysków elastycznych (IRQ6).
INT OFH - przerwanie od układu wyjściowego LPT1 (IRQ7 nie jest używane przez BIOS).
Obshtga ekranu monitora (INT 10H)
Realizowana funkcja jest określona zawartością rejestru AH. Niektóre z pozostałych rejestrów służą do przekazywania parametrów wywoływanej procedurze (we:) i pobraniu parametrów z procedury do programu wywołującego (wy:).
AH = 0 wybór trybu pracy monitora
we: AL = 0 tekst 40 x 25 monochromatyczny,
AL = 1 tekst 40 x 25 kolor,
AL = 2 tekst 80 x 25 monochromatyczny, ^
AL = 3 tekst 80 x 25 kolor,
AL = 4 grafika 320 x 200 kolor,
AL = 5 grafika 320 x 200 monochromatyczny,
AL = 6 grafika 640 x 200 monochromatyczny (dla PC1512 Schneider - kolor, zob. INT 15H),
AL = 7 tekst 80 x 25, karta monochromatyczna,
AL = 8 niektóre karty EGA - tekst 132x25, '
AL = 9-12 rezerwowane,
AL = 13 EGA, grafika 320x200 kolor,
AL = 14 EGA + monitor monochromatyczny, 640 x 200,
AL = 15 EGA + monitor monochromatyczny, 640 x 350,
AL = 16 EGA, grafika 640 x 350 kolor. .
AH = 1 definiowanie rozmiaru kursora
we: CH < 0...4 > - numer linii, w której zaczyna się kursor, łł
CL<0...4> - numer linii, w której kończy się kursor (np. dla CG A rejestry mogą zawierać cyfry 0..7).
powered by
9.1. Przerwania sprzętowe i programowe ROM BIOS
AH = 2 ustawienie pozycji kursora na ekranie we: BH - numer strony,
DH - numer rzędu,
DL - numer kolumny.
AH =3 odczytanie pozycji kursora
wc: BH - numer strony, wy: DH - numer wiersza,
DL - numer kolumny,
CL < 0...4 >, CL < 0...4 > - rozmiar kursora.
AH = 4 odczytanie pozycji pióra świetlnego
wy: AH =0(1) - pióro świetlne nie jest (jest aktywne),
DH - numer wiersza znaków,
DL - numer kolumny znaków,
CH - numer wiersza punktów,
BX - numer kolumny punktów.
AH = 5 ustawienie tekstowego trybu pracy
we: AL - numer strony (aktywnej)
AH=6 przewijanie strony w górę
we: AL - liczba wierszy,
CH - górny rząd,
BH - atrybut wierszy,
CL - lewa kolumna,
DH - dolny rzÄ…d,
DL - prawa kolumna.
AH = 7przewijanie strony w dół
parametry wejściowe jak dla AH = 6
AH = 8 odczytanie maku i atrybutu w miejscu ustawienia kursora
wc: BH - numer strony, wy: AL - kod znaku,
AH - atrybut znaku.
AH = 9 zapis znaku i atrybutu w miejscu ustawienia kursora (kursor nie zmienia pozycji)
we: AL - kod znaku,
AH - atrybut znaku,
CX - liczba znaków do zapisu.
AH = 10 (OAH) zapis znaku bez atrybutu w miejscu ustawienia kursora (kursor nie
zmienia pozycji)
we: AL - kod znaku,
CX - liczba znaków do zapisu.
AH = 11 (OBH) ustawienie palety kolorów dla trybu graficznego wc: BH - numer (identyfikator) palety 0...127,
BL - numer koloru z wybranej palety (dla 320 x 200).