Objasnite kako se int 21h može koristiti za ulazni izlaz u 8086 mikroprocesoru?
Evo primjera kako se INT 21h prekid može koristiti za čitanje znaka s tipkovnice:
1. Program učitava AH registar s vrijednošću 1 kako bi označio da želi pročitati znak s tipkovnice.
2. Program izdaje prekid INT 21h.
3. Mikroprocesor skače na MS-DOS I/O kod rukovatelja.
4. I/O kod rukovatelja provjerava postoji li znak dostupan u međuspremniku tipkovnice.
5. Ako postoji dostupan znak, kod I/O rukovatelja čita znak iz međuspremnika i pohranjuje ga u AL registar.
6. Ako nema dostupnog znaka, I/O kod rukovatelja postavlja Carry Flag (CF) na 1 da označi ovo stanje.
7. Program provjerava Carry Flag kako bi utvrdio je li znak uspješno pročitan.
8. Ako je Carry Flag 0, program dohvaća znak iz AL registra.
Evo sklopovskog koda za ovaj primjer:
```
mov ah, 1; AH =1 za čitanje znaka s tipkovnice
int 21h; Prekid 21h za izvođenje I/O operacije
jc noćar; Skoči ako je postavljena zastavica za prijenos (nema dostupnih znakova)
mov ch, al; Dohvaćanje znaka iz AL registra
```
Ovaj primjer se može modificirati za izvođenje drugih I/O operacija, kao što je pisanje znaka na ekranu, čitanje datoteke ili pisanje u datoteku. Svaka I/O operacija identificirana je jedinstvenim funkcijskim kodom koji se učitava u AH registar prije izdavanja INT 21h prekida.