background image

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