Upokorzenie smakuje tak samo w ustach każdego człowieka.
Uwagi: Przy pisaniu programów typu TSR zwróć uwagę na kilka drobiazgów: - Funkcja powyższa jest nowszą wersją przerwania 28H, firma Microsoft zaleca stosowa- nie jej zamiast tego przerwania, którego znaczenie w przyszłych wersjach systemu może zostać zmienione. - Pozostawiając program w pamięci pamiętaj, że również przedrostek PSP jest częścią pa- mięci przydzielonej procesowi, i że trzeba na niego przeznaczyć 100H bajtów (l OH para- gratów), tak więc do rejestru DX musisz zawsze jeszcze dodać 10H przed wywolaniem fun- kcji. - Wybieraj dobry moment na ponowne uruchomienie rezydentnego programu, niech to na przykfad nie będzie w polowie transmisji modemu. Zanim TSR się uruchomi sprawdź, czy DOS nie robi nic ważnego (Użyj przerwania 28H). - Pamiętaj, że wszystkie dojścia, bloki FCB, bufory roboeze itd dotyczą już innego proce- su nie możesz się więc do nich odwolywać, aby nie zakłócić pracy tamtego procesu. Masz więc dwa wyjścia: albo zapamiętywać stan początkowy wszystkich używanych struktur da- nych i po zakoriczeniu wywołania TSR przywrócić ten stan, albo użyć nieudokumentowa- nych przerwari 50H i 62H, które zrobią to za Ciebie. 205 Funkcja 32H Nazwa: Pylanie o adres bloku informacji o urządzeniu Wywołanie: AH = 32H ; DL = Numer urządzenia (0=A,1=B, itd.) Powrót: AL = OH - Znaleziono takie urządzenie OFFH - Nie ma takiego urządzenia. DS:BX - adres bloku informacji o urządzeniu Opis: Funkcja zwraca adres bloku informacji o urządzeniu, którego numer został podany w DL. Jeśli nie ma w systemie urządzenia o takim numerze, to w rejestrze AL zwracana jest war- tość OFFH. W przeciwnym wypadku AL zawiera 0, a w rejestrach DS:BX zwracany jest ad- res bloku informacji o urządzeniu (patrz funkcja 1 FH). Uwagi: Funkcja nie jest udokumentowana. Bądź ostrożny z jej używaniem. ů Funkcja 33H Nazwa: Pytanie o wrażliwość na znak Control-C lub jej ustalanie. Wywofanie: AH = 33H AL = 0 - pytaj o wrażliwość 1- ustaw wrażliwość DL = (jeśli AL=1 ) 0 - BREAK OFF 1- BREAK ON Powrót: DL = (jeśli AL=0) 0 - BREAK OFF = 1- BREAK ON AL = OFFH - w rejestrze AL byfa wartość inna niż 0 lub 1 Opis: Funkcja ustala wrażliwość systemu na naciśnięcie klawiszy Contol - C (Control - Break) lub pyta o tę wrażliwość. Jest ona równoważna systemowemu poleceniu BREAK. Znacze- nie parametrów jest opisane powyżej. Jeśli sygnalizator BREAK jest wyłączony (OFF) to klawisze Control - C przerywają tylko działanie funkcji O1 H - OCH, jeśli jest ustawiony (ON) to przerywają dziafanie każdej funkcji systemowej. Uwagi: Jeśli chcesz używać w programie tunkcji 06H i 07H i traktować Control-C jako normalne znaki, to musisz się upewnić się, że BREAK jest wyłączony. Funkcja 34H Nazwa: Pytanie o adres sygnalizatora pracy systemu. Wywolanie: AH = 34H Powrót: ES:BX - adres sygnalizatora pracy systemu. Opis: Funkcja zwraca adres sygnalizatora pracy systemu. Sygnalizator ten jest ustawiony (różny od zera) gdy wykonuje jakąś czynność, której nie należy mu przerywać. Sygnalizator ten jest często używany przez programy TSR, które sprawdzają, czy mogą się uaktywnić. Syg- nalizator jest równiei ustawiony podczas czekania przez system na naciśnięcie klawisza. W takim wypadku jest wywofywane przerwanie 28H, które TSR może przechwyci‚ i rów- nież w ten sposób się uaktywniać. Uwagi: Funkcja nie udokumentowana. Korzystają z niej jednak niektóre rezydentne programy sy- stemowe, jest więc szansa, że w przyszłych wersjach systemu będzie również zaimple- mentowana. Na wszelki wypadek podchodź do niej z rezerwą. . Funkcja 35H Nazwa: Pytanie o adres kodu obsługi przerwania ? Wywolanie: AH = 35H _ AL - numer przerwania Powrót: ES:BX - adres procedury obsługi przerwania Opis: Funkcja zwraca adres procedury obsługi przerwania o numerze podanym w AL. Uwagi: Firma Microsoft zastrzega, że w przysztych wersjach systemu MS-DOS tablica wektorów przerwari może znajdować się w innym miejscu pamięci, dlatego nie należy czytać adre- sów przerwari bezpośrednio z pamięci, tylko przy pomocy tej funkcji. r Funkcja 36H Nazwa: Pytanie o rozmiar wolnego obszaru dla dysku