Odlomak

Primer:

U isto vreme se radi download (u pozadini) i kucanje teksta u Wordu. Ili svira muzika i bilo koji drugi interaktivni program (Word, Visual Studio, Eclipse, …)
Teorija

  • <Slika CPUa i nekoliko periferija koje su zakačene preko IRQ linija>
  • <Slika 8086ice i kontrolera periferije 8259A>

Pojmovi

  • Prekid
  • Adresa prekidne rutine, ili kraće prekida (interrupt pointer)
  • Tabela adresa prekidnih rutina (Interrupt vector table)
  • Dozvola i zabrana izvršenja prekida: Interrupt flag i Trap flag u PSW registru

Kod 8086ice kada se dogodi prekid, hardver izvršava sledeću proceduru:

  • Određuje se broj prekida N
  • Registri PSW, CS i IP se stavljaju na stek u tom redosledu
  • Resetuju se bitovi IF i TF iz registra PSW
  • Stavlja se sadržaj memorijske lokacije 4*N u registar IP i sadržaj lokacije 4*N+2 u registar CS (interrupt pointer se smešta u PC)

Da bi se izvršio povratak iz prekidne rutine, potrebno je izvršiti (softverski) naredbu IRET, koja će pokupiti sa steka registre koje je hardver sačuvao prilikom obrađivanja prekida.

Zad 0. Napisati program na C jeziku koji broji događaje koje je generisala tastatura. Broj prekida na koji je zakačena tastatura je 9h. Adresa registra podataka tastature je 60h, a kontrolnog registra je 61h. Adresa kontrolnog registra kontrolera periferije je 20h.

 

No votes yet.
Please wait…

Prijavi se

Detalji dokumenta

Više u Informacione tehnologije

Više u Skripte

Komentari