Documente Academic
Documente Profesional
Documente Cultură
adr_segment 2 4 + adr_deplasament
stiva
Adr_segment (2B)
Adr_deplas (2B)
4x
0
OBS:
IP
Rutina de tratare
intrerupe re x
-----------IRET
1kB
Adr_segment (2B)
Adr_deplas (2B)
4x
0
Probleme reentran!!!
- marcare SC i forare IF=0 pe durata SC!!
80286
mod real 8086 performant programe 8086 acceptate
mod protejat:
(revenire la mod real prin repornire calculator)
o 24 linii adresa, memorie fizica 16MB, memorie virtuala
1GB
o multitasking
o + 2 indicatori
80386
o date/adres 32b
o memorie fizic 4GB, virtual 64TB
o + registri pe 32 B: extini (EAX, EBX etc)
control i stare,
+ 2 reg segment FS GS
o indicatori: IOPL pe 2b prioriti pentru oper IO
dac nivel priorit per curenta <=IOPL operaia
IO validata
altfel execut o ntrerupere de protecie
+ RF : RF=0 sunt permise ntreruperi de depanare
+ VM: VM=1 mod virtual 8086; VM=0 mod protejat
80486
o cu memorie cash
o cu interfete de magistrale mai rapide
ntreruperi la IBM PC
Software:
INT I mai prioritar ca INT J dac I < J
Exceptii:
INT 0 S/BIOS mprire cu depire
INT 1 S/BIOS trasare pas cu pas
INT 3 S/BIOS - breakpoint
INT 4 S/BIOS - depire OF=1
Hardware:
INT 2 NMI BIOS eroare paritate de memorie sau pentru coprocesor
ACCES NEPERMIS UTILIZATORILOR!!
INT 08H IRQ0_8259_I BIOS ceas de timp real (implicit nemascat
de 8259)
INT 09H IRQ1_8259_I BIOS tastatura (implicit nemascat de 8259)
INT 0AH IRQ2_8259_I - rezervata
INT 0BH IRQ3_8259_I BIOS COM (implicit mascat de 8259)
INT 0CH IRQ4_8259_I BIOS COM (implicit mascat de 8259)
INT 0DH IRQ5_8259_I BIOS LPT, disc
INT 0EH IRQ6_8259_I BIOS disc flexibil
BIOS
= ansamblu de rutine de tratare a unor ntreruperi ce asigur servicii de
baz (pentru un hardware funcional)
= interfat SO hardware
ntreruperi BIOS
5, 8, 9, 10-1C, 4A, 70
1D, 1E, 1F, 41, 46 vectori de ntrerupere ce pointeaza spre tabele BIOS
INT 5H
- tiparete continutul ecranului la imprimant dac se apas Shift +
PrintScreen
INT 08H ceas pentru aplicatii de timp real /implicit nemascata de 8259
IRQ0 _8259I
y Cererea de ntrerupere apare de la canal 0 / 8253
- implicit la fiecare 55msec (de 18.2 ori pe sec)
y Pe programarea implicit 8259 ntreruperea de nivel prioritar
y Rutina de tratare asigur:
Incrementeaz contorul de la adresa 0000:046C H;
dac valoarea acestuia indic scurgerea a 24 ore, atunci
acesta devine 0 i se poziioneaza indicatorul de la adresa
0000:0470
citeste contorul de la adresa 0000:0440
daca valoarea este 0 oprete motorul la floppy i
poziioneaz indicatorul de la 000:043F
altfel decrementeaza contorul
genereaza intrerupere utilizator INT 1CH
Tabele de parametri
INT 1DH tabel parametri video
INT 1EH tabel parametri floppy (10B) folosita de INT 13H
Ex: timp salt la alta pista, timp poziionare cap, dimensiune sector, numar
sectoare etc
INT 41H Tabel parametri disc dur (16B) folosita de INT 13H
INT 46H Tabel parametri al doilea disc dur (16B) folosita de INT 13H
INT 1FH Tabel cararactere ASCII set extins
- folosita n mod grafic, coduri 128 255 (pentru coduri 0-127 in
ROM la adresa F000: FA6E H)
- la initializare pointerul este F000:0000, dar caracterele nedipsonibile; pot fi inscrise de SO.
1 caracter = 8B
1 1 1 1 1 1 1 1 margine inferioara pe ecran
1 1 1 1 1 1 1 1
1 1 1 1 1 1
1 1 1 1 1 1
1 1 1 1
1 1 1 1
1 1
1
margine superioara