Documente online.
Zona de administrare documente. Fisierele tale
Am uitat parola x Creaza cont nou
 HomeExploreaza
upload
Upload




HW Přerusení

Croata sarbo croata


HW Přerusení



Tyto přerusení (sluzby Biosu) jsou volána vzdy, kdyz dojde v hardwaru počítače k události, kterou je třeba obslouzit programem na vektoru tohoto přerusení.

Přeplnění při dělení-INT 00h

Toto přerusení je rezervované pro mikroprocesor. Je volané vzdy, pokud se při provádění instrukcí div nebo idiv výsledek nevejde (dojde k přeplnění) do prostoru (registru) pro ulození výsledku nebo nastalo dělení nulou. Obsluzná rutina provede výpis hlásení DIVISION OVERFLOW s následným zastavením činnosti počítače.

Přerusení při krokování-INT 01h

Zase se jedná o přerusení rezervované pro mikroprocesor. K jeho volání dojde po kazdé provedené instrukci pokud je nastaven příznak TF v registru příznaků. Při provádění obsluzné rutiny je příznak TF nulován a po jejím ukončení je nastaven na původní hodnotu. Standardně obsahuje obsluha přerusení pouze instrukci IRET. Přerusení je výhodné pouzit k ladicím účelům, kde obsluznou rutinou je monitor zobrazující hodnoty registrů a zajímavých oblastí paměti, ale je třeba nejprve nastavit na tento monitor vektor přerusení.

Nemaskovatelné přerusení-INT 02h

Pokud je toto přerusení volané hardwarově pomocí signálu NMI na mikroprocesoru nelze jej maskovat instrukcí CLI. Z tohoto důvodu je pouzíváno k obsluze událostí, které vyzadují obsluhu okamzitě a vzdy (např. výpadek napětí). Obvykle se pouzívá jako obsluzná rutina chyby parity paměti (provede se pokus o opakovaný přístup a při opakované chybě dojde k zastavení systému) nebo pokud je připojen numerický koprocesor, je přerusení vyuzito k obsluze jeho chyb.

Přerusení BREAKPOINTU-INT 03h

Toto přerusení je voláno jednak dvoubajtovou instrukcí INT a jednak jednobytovou instrukcí INT. Toho se vyuzívá k ladění programů, kde se na kontrolní místo v paměti umístí tzv. BREAKPOINT (jednobytové INT). Pokud má být toto přerusení pouziti v ladicím monitoru, je třeba nastavit vektor tohoto přerusení na adresu ladicího monitoru, protoze standardně rutina obsluhy přerusení obsahuje instrukci IRET.

Přerusení při plnění-INT 04h

Pokud je příznak OF v registru příznaků nastaven, je mozné přerusení volat instrukcí INTO. Toho lze pouzít v uzivatelských programech a testovat zda doslo k přetečení při provádění aritmetických instrukcí a provést příslusnou odezvu. Standardně obsahuje obsluzná rutina pouze instrukci IRET.

Tisk obrazovky (PRINT SCREEN)-INT 05h

Pokud je na klávesnici stisknuto tlačítko Print Screen dojde k volání tohoto přerusení, které slouzí k vytisknutí kopie obrazovky na tiskárně. Přerusení lze samozřejmě volat i programově instrukcí INT 05. Vyuzití přerusení můze přináset problémy na počítačích AT, protoze toto přerusení je generováno instrukcí BOUND a podle doporučení Intelu jde tedy o přerusení rezervované a jakékoli jeho jiné pouzití pak předpokládá, ze v uzivatelském sowtvaru není instrukce BOUND pouzita.

Přerusení časovače-INT 08h

Hardwarový pozadavek o obsluhu přerusení IRQ0 volá toto přerusení. Pozadavek je generován obvodem čítače-časovače, kanálem 0, pravidelně co 55 ms, neboli s frekvecí18,2 Hz a slouzí jako hodiny reálného času.

Bios této obsluzné rutiny nastavuje hodnotu hodin reálného času na adrese 46Ch a modifikuje hodnotu na adrese 440h, tak to je zabezpečeno vypnutí motoru disketové mechaniky po skončení I/O operace. Pokud se toto přerusení přesměruje, je třeba zabezpečit aby řadič přerusení byl informován o tom ze rutina přerusení skončila. To se zajistí instrukcemi:

MOV AL,20h OUT 20h,AL

Takto se zasle příkaz nazvaný EOI (End Of Interrupt). Přerusení stímto kódem je také generováno při detekci výpadku mikroprocesoru INTEL 80286 v módu virtuální paměti, ale v tomto případě se pouzívá definované tabulky vektorů přerusení, která je umístěná na libovolné místo v paměti a ne standardní tabulky umístěné na adrese paměti 0, kterou pouzívá Bios.

Přerusení klávesnice-INT 09h

Zase se jedná o přerusení generované hardwarem při pozadavku o obsluhu přerusení IRQ1, které signalizuje ze buffer klávesnice obsahuje znak. Obsluzná rutina v Biosu tento znak jenz je ulozen v tzv. IBM SCAN kódu převede do jejího ASCII vyjádření a ulozí do kruhového bufferu klávesnice na adrese 41Eh v paměti.

Opět pokud dojde k přesměrování tohoto vektoru přerusení je třeba zajistit opětovné regulérní nastavení portu klávesnice. K tomu můze slouzit např. tento sled instrukcí :

IN AL,61h ;Zjisti hodnotu řídící linky
MOV AH,AL ;a uschovej ji
OR AL,80h ;nastav příznak povolení klávesnice
OUT 61h,AL ;a zapis jej na řídící linku klávesnice
MOV AL,AH ;obnov původní hodnotu řídící linky klávesnice
OUT 61h,AL ;a zapis ji pět
MOV AL,20h ;Nastav signál EOI řadiče přerusení
OUT 20h,AL

Znak z bufferu klávesnice se čte na portu 60h. Přerusení s tímto číslem je také generováno při chybě ochrany numerického koprocesoru INTEL80287 mikroprocesorem INTEL 80286 v módu chráněné virtuální paměti. Ale jako u předeslého přerusení se pouzívá definované tabulky vektorů přerusení umístěné na libovolné místo v paměti.

Přerusení od portů(IRQ3-5,7) INT0Bh-0Dh,0Fh

Tato přerusení jsou generována jednotlivými vstupně výstupovími porty počítače jako pozadavek na obsluhu vzniklé události na nich.

Přerusení řadiče disket(IRQ6)-INT 0Eh

Přerusení je generováno řadičem disket při dokončení kazdé diskové operace. Obsluzná rutina nastavuje v případě potřeby příslusný bit proměnné Biosu na adrese 43Eh, který je uzit rutinou INT 13h k určení toho, zda disková jednotka potřebuje před provedením pozadované činnosti rekalibraci.

Aktualizováno: 18.08.2000

This website is copyright-protected (c) 1995-2000 by JPS


Document Info


Accesari: 1373
Apreciat: hand-up

Comenteaza documentul:

Nu esti inregistrat
Trebuie sa fii utilizator inregistrat pentru a putea comenta


Creaza cont nou

A fost util?

Daca documentul a fost util si crezi ca merita
sa adaugi un link catre el la tine in site


in pagina web a site-ului tau.




eCoduri.com - coduri postale, contabile, CAEN sau bancare

Politica de confidentialitate | Termenii si conditii de utilizare




Copyright © Contact (SCRIGROUP Int. 2024 )