238 9. Wykorzystanie procedur systemowych w programach użytkowych
Test konfiguracji sprzętu (INT 11H)
Brak parametrów wejściowych, po powrocie z procedury rejestr AX zawiera następujące informacje
A < 0) = 1 - są dołączone stacje dysków,
A < 1 > - nie używany,
A < 2...3 > - liczba bloków pamięci 16 KB na płycie głównej,
A < 4...5 > - poczÄ…tkowy tryb video: 0 - nielegalny, 1 - CG A 40 x 25, 2 - CG A 80 x 25,
3 - monochromatyczny 80 x 25,
A < 6...7 > - liczba stacji dysków jeżeli A < 0 > = 1,
A < 8 > - nie używany,
A < 9...11 > - liczba wejść (wyjść) szeregowych (V.24),
A< 12 > = 1 - dołączony układ wejściowy dla manipulatora (ang.gamę),
A < 13 > * nie używany,
A< 14...15 > - liczba wyjść równoległych.
Odczyt rozmiarów zainstalowanej pamięci (INT 12H)
Brak parametrów wejściowych, po powrocie z procedury rejestr AX zawiera rozmiar pamięci RAM liczony w blokach po 1 KB.
Obshiga dysków (INT 13H)
AH = 0 - inicjacja systemu dyskowego,
AH = 1 - odczyt statusu ostatnio wykonywanej operacji dyskowej wy: AL = 0 - operacja wykonana prawidłowo,
AL = 1 - nielegalny rozkaz dla sterownika dysków,
AL = 2 - nie znaleziono znacznika adresu,
AL = 3 - próba zapisu na zabezpieczoną dyskietkę,
AL = 4 - nie znaleziono sektora,
AL = 6 - nie ma dyskietki w mechanizmie,
AL = 8 - błąd w kanale DMA,
AL = 9 - przekroczenie granicy adresowej dla kanału DMA,
AL = 16 - błąd sumy kontrolnej CRC,
AL = 32 - błąd sprzętowy sterownika dysków NEC 765,
AL = 64 - błąd pozycjonowania głowicy,
AL = 128- przekroczony czas operacji,
AH = 2 - odczyt sektorów
we: DL - numer stacji dysków (0 - pierwszy dla dysków elastycznych, 80H -pierwszy dla dysków stałych), '
DH - numer głowicy,
CL - numer sektora,
CH - numer ścieżki,
AL - liczba sektorów,
ES:BX - adres poczÄ…tkowy bufora operacji, wy: AH - kod statusu (jak dla AH = 1), 'â–
AL - liczba rzeczywiście przeczytanych sektorów,
powered by
9.7. Przerwania sprzętowe i programowe ROM BIOS
CF = 0 - operacja wykonana prawidłowo,
AH = 3 - zapis sektorów (parametry jak dla AH = 2),
AH = 4 - weryfikacja sektorów (parametry jak dla AH = 2, lecz ES:BX - nie wys-tępuje),
AH = 5 - formatowanie sektorów
we: ES:BX - adres tabeli 4-bitowych pól adresowych,
DL - numer stacji dysków (0 - pierwszy dla dysków elastycznych, 80H -pierwszy dla dysków stałych),
DH - numer głowicy, CH - numer ścieżki.
Dalsze funkcje wywoływane przez INT 13H, występują głównie w komputerach typu AT i są różnie wykorzystywane przez poszczególnych wytwórców sprzętu. Z tego powodu nie zaleca się ich używać w programach użytkowych.
AH = 7 - formatowanie dysku stałego,
AH = 8 - odczyt parametrów dysku stałego,
AH = 9 - inicjacja tablic bazowych obu dysków stałych,
AH = 10 - (OAH) odczyt dużej liczby sektorów,
AH = 11- (OBH) zapis dużej liczby sektorów,
AH = 12 - (OCH) przesunięcie głowicy celem znalezienia ścieżki,
AH = 13 - (ODH) alternatywna inicjacja systemu dyskowego,
AH = 20 - (14H) diagnostyka sterownika dysku stałego,
AH = 21 - (15H) odczyt typu dysku,
AH =22 - (16H) test, czy zamieniono dyskietkÄ™,
AH = 23 - (17H) ustawienie typu dyskietki do formatowania.
Obsługa wejścia-wyjścia szeregowego V.24 (INT 14H)
AH = 0 - inicjacja układu V.24
we: DX - numer układu V.24 (0 - COM1),
AL - parametry inicjacji zdefiniowane,
Prędkość transmisji |
AL < 7,63 > |
Parzystość AL<4,3> |
Bity stopu AL<2> |
Bity danych AL< 1,0> |
110 |
000 |
N - 0 |
10 |
500 |
150 |
001 |
OOl |
21 |
601 |
300 |
010 |
Eli |
710 | |
600 |
011 |
81 1 | ||
1200 |
100 | |||
2400 |
101 | |||
4800 |
1 10 | |||
9600 |
1 1 1 |
AH = 1: - wysłanie jednego znaku do układu wyjściowego V.24
we: AL - kod znaku, DX - numer układu V.24 (0 - COM1) wy: AH - status układu zdefiniowany następująco A < 0 > - znak został wysłany, układ jest gotowy,
A < 1 > - błąd zgubienia znaku (ang. overrun error)