AK
lab
Ćw. 12
Obsługa wejścia wyjścia z wykorzystaniem odwołań do systemu operacyjnego
Cel: Poznanie obsługi wejścia-wyjścia w trybie chronionym
Sprzęt i oprogramowanie: Komputer PC z systemem Windows. System DOS (Dyskietka lub maszyna wirtualna).
Płytka TLPT.
Zagadnienia: Obsługa wejścia/wyjścia z wykorzystaniem rozkazów IN i OUT. Obsługa we/wy z wykorzystaniem
funkcji systemowych. Tryb jądra i tryb użytkownika.
Polecenia:
1.
Uruchom system DOS
2.
Uruchom program AFD
3.
Napisz i uruchom przedstawione niżej programy i zaobserwuj ich działanie korzystając z dołączonego do
złącza LPT1 zestawu TLPT. W razie potrzeby spowolnij przesyłanie sterując odpowiednio linią BUSY.
a.
Wysyłanie 1 znaku do rejestru danych łącza LPT1 (378h) przy użyciu rozkazu OUT.
b.
Wysyłanie 1 znaku do łącza LPT1 przy użyciu odpowiedniej funkcji przerwania INT 21h.
c.
Wysyłanie ciągu znaków do łącza LPT1 przy użyciu odpowiedniej funkcji przerwania INT 21h.
4.
Uruchom system Windows
5.
Uruchom program AFD
6.
Wykonaj programy a, b i c z punktu 3. Wyjaśnij zaobserwowane różnice w działaniu tych programów w
porównaniu ze środowiskiem DOS
Rozkazy OUT i IN : OUT DX,AL IN AL,DX (DX adres AL dana)
Wybrane funkcje przerwania 21H (DOS)
Funkcja 05h (wysłanie 1 znaku do łącza LPT1)
Parametry wejściowe: AH 05h, DL kod ASCII znaku
Funkcja 40h (wysłanie ciągu znaków do pliku lub urządzenia)
Parametry wejściowe: AH 40h, BX numer uchwytu (Dla LPT1 04)
CX liczba przesyłanych znaków, DS.:DX adres bufora zawierającego znaki
Wartości zwracane:AX liczba faktycznie przesłanych znaków lub kod błędu gdy CF=1
CF 1 w przypadku wystąpienia błędu
Wybrane funkcje przerwania 17H (BIOS)
Funkcja 00h (wysłanie jednego znaku do łącza równoległego)
Parametry wejściowe:AH 00h, AL. kod ASCII znaku,
DX numer łącza: 0=LPT1, 1=LPT2, 2=LPT3
Wartości zwracane: AH bajt statusowy
Funkcja 02h (zwraca w rejestrze AH bajt statusowy)
Parametry wejściowe:AH 02h,
DX numer łącza: 0=LPT1, 1=LPT2, 2=LPT3
Wartości zwracane: AH bajt statusowy