242 9. Wykorzystanie procedur systemowych w programach użytkowych
Wywołanie rezydującego interpretatora języka Basic (INT 18H)
W oryginalnym mikrokomputerze IBM PC/XT w pamięciach EPROM znajduje się interpretator języka Basic (adres startu F600:0).
Uruchomienie programu Å‚adujÄ…cego system operacyjny (INT 19H)
Zawartość sektora nr 0 ścieżki nr 0 dysku (dyskietki) w stacji dysków A lub C zostaje załadowana do pamięci od adresu 0000:7C00. Wczytany program ładujący (ang. bootstrap) zostaje uruchomiony i rozpoczyna wczytywanie systemu operacyjnego.
Obsługa zegara (INT 1AH)
AH = 0 - odczytanie czasu; zegar systemowy jest przypisany do układu czasowego nr 0 (timer 0)
wy: CX - bardziej znaczące słowo licznika,
DX - mniej znaczące słowo licznika,
AL > 0 - przepełnienie dobowe,
AH = 1 - ustawienie aktualnego czasu we: CX, DX - jak dla AH = 0
AH=2 - odczytanie czasu z zegara czasu rzeczywistego (z podtrzymaniem bateryjnym)
wy: CH - godziny,
CL - minuty,
DH - sekundy,
AH = 3 - ustawienia czasu w zegarze czasu rzeczywistego we: CH - godziny,
CL - minuty, •' '
DH - sekundy,
DL = 1 - dla czasu letniego,
AH = 4 - odczyt daty z zegara czasu rzeczywistego wy: DL - dzień,
DH - miesiÄ…c,
CL - rok,
CH - wiek (XIX lub XX),
AH = 5 - ustawienie daty w zegarze czasu rzeczywistego
we: DL-dzień, .
DH - miesiÄ…c,
CL - rok,
CH - wiek (XIX lub XX), 11
AH = 6 - ustawienie alarmu (budzika)
we: CH - godziny,
CL - minuty,
DH - sekundy,
AH = 7 - wyłączenie alarmu.
Obsługa klawiszy Ctrl-Break (INT 1BH)
Jeżeli zostaną naciśnięte klawisze Ctrl-Break, to procedura obsługi przerwań z klawiatury (INT 09H) przekazuje sterowanie za pomocą INT 1BH.
Obsługa przerwania zegarowego INT 08 (INT ICH)
Przerwanie INT ICH jest wywoływane 18.3 razy na sekundę. Programy użytkowe zmieniające adres procedury obsługi przerwania, powinny po zakończeniu programu wykonać skok pod dotychczasowy adres (an. daisy chain).
INT 1DH - adres tablicy parametrów do obsługi ekranu monitora INT 10H/AH=0, INT IEH - adres tablicy aktualnych parametrów dysku,
INT 1FH - adres tablicy wzorów graficznych znaków (8x8) dla rozszerzonego zbioru znaków (kody 128...255, pakiety grafiki CG A 4- EGA).
Przerwania sprzętowe w komputerach IBM AT (INT 70 ... 77H)
INT 70H - zegar czasu rzeczywistego (IRQ8),
INT 71H - wywołanie INT OAH i symulowanie tym sposobem IRQ2,
INT 72H - przerwanie od układu obsługi szeregowego wejścia-wyjścia COM3 (IRO10),
INT 73H - przerwanie od układu obsługi szeregowego wejścia-wyjścia COM4 (IROll),
INT 74H - zarezerwowane (IRQ12),
INT 75H - koprocesor arytmetyczny (IRQ13),
INT 76H - sterownik dysku stałego (IRQ14),
INT 77H - zarezerwowane (IR015).
MS-DOS ma wicie procedur wywoływanych (podobnie jak procedury ROM BIOS) za pomocą rozkazów INT, (ang. system calls) realizujących podstawowe i często używane funkcje, znacznie ułatwiające pisanie programów w języku asemblerowym. Wszystkie uniwersalne funkcje systemowe są wywoływane za pośrednictwem przerwania INT 21H (INT 33). Funkcje są rozróżniane za pomocą numeru umieszczonego w rejestrze AH przed ich wywołaniem .
Wyróżnia się pięć grup wywołań systemowych (INT 21H)
- wprowadzanie i wyprowadzanie łańcuchów znaków z (na) urządzenia standardowe (CON, PRN),
- zarzÄ…dzanie i gospodarowanie plikami dyskowymi (ang .file management) oraz katalogami (ang. directory management),
- zarzÄ…dzanie programami (ang.program management),
• zarządzanie pamięcią operacyjną (ang. memory management),
- różne funkcje systemowe (ang. system management).