Megszakítások és kivételek



Hasonló dokumentumok
Előszó avagy Murphy és az optimizmus. Tartalomjegyzék

Assembly Címzési módok. Iványi Péter

assume CS:Code, DS:Data, SS:Stack Start mov dl, 100 mov dh, 100 push dx Rajz

code segment para public 'code' assume cs:code, ds:code, es:nothing, ss:nothing

Assembly Rekurzív függvények, EXE, C programok. Iványi Péter

Bevitel-Kivitel. Eddig a számítógép agyáról volt szó. Szükség van eszközökre. Processzusok, memória, stb

A Számítógépek hardver elemei

1. Mit tárol a memória? 1 pont. 2. Miért kell rendszerlemezzel rendelkeznünk? 1 pont Karikázza be a helyes válasz betűjelét

Számítástechnika-kidolgozott szóbeli tételek (11-15.)

Az egér, a botkormány (joystick) és a nyomtató programozása DOS-ban

assume CS:Code, DS:Data, SS:Stack Start: xor di, di mov si, 1 Torles int 10h mov dl, 40 xor bh, bh mov ah, 02h Kesleltet int 16h

Közlekedés gépjárművek elektronikája, diagnosztikája. Mikroprocesszoros technika. Memóriák, címek, alapáramkörök. A programozás alapjai

Assebly feladatok SHR SHL NOT NEG AND XOR. Ezt követően ismertetni kell a szoftver megszakítás fogalmát és szükségességét.

Mikroprocesszor CPU. C Central Központi. P Processing Számító. U Unit Egység

találhatók. A memória-szervezési modell mondja meg azt, hogy miként

A 32 bites x86-os architektúra regiszterei

A PC története. Informatika alapjai-9 Személyi számítógép (PC) 1/12. (Personal computer - From Wikipedia, the free encyclopedia)

Assembly. Iványi Péter

Az Ön kézikönyve HP COMPAQ DC5700 MICROTOWER PC

Mérési utasítás Mikrokontroller programozás 2.sz. mérés

Adatelérés és memóriakezelés

MS-NMK nagyszámkijelző ismertető

Fábián Zoltán Hálózatok elmélet

ICN 2005 ConferControl

A mutatóeszközök és a billentyűzet Felhasználói útmutató

A termék(ek) felnyitása súlyos személyi sérülést eredményezhet! A termék javítását csak az Eminent képzett szakemberei végezhetik!

TRP-C24 Felhasználói Kézikönyv

OPERÁCIÓS RENDSZEREK I. HÁTTÉRTÁRAK

Lemezkezelés, állományrendszerek

A PC vagyis a személyi számítógép. XV. rész. 1. ábra. A billentyűzet és funkcionális csoportjai

A mutatóeszközök és a billentyűzet Felhasználói útmutató

1. ábra: Perifériára való írás idődiagramja

Operációs rendszerek

Meghajtók Felhasználói útmutató

A program SZÁMÍTÓGÉP ARCHITEKTÚRÁK. Legáltalánosabb architektúra. Eszközök szerepe. A vezérlők programozása. A vezérlők (adapterek, kontrollerek)

Széchenyi István Szakképző Iskola

Meghajtók Felhasználói útmutató

Meghajtók Felhasználói útmutató

Meghajtók Felhasználói útmutató

INFORMATIKAI ALAPISMERETEK

Informatika szintmérő-érettségi tételek február

A számok kiírása is alapvetően karakterek kiírásán alapul, azonban figyelembe kell venni, hogy a számjegyeket, mint karaktereket kell kiírni.

Számítógép perifériák I.

Assembly. Iványi Péter

Hangkártya programozása

KELE3. Felhasználói kézikönyv

Rakjunk össze számítógépet!

Archi2 Gyak. (Processzorok Utasításszintű Kezelése) 2014 ősz

A CAD hardver eszközei / 2.

Memóriák - tárak. Memória. Kapacitás Ár. Sebesség. Háttértár. (felejtő) (nem felejtő)

Computer Setup. Felhasználói útmutató

1. Az utasítás beolvasása a processzorba

Assembly Programozás Rodek Lajos Diós Gábor

Processzorok Utasításszintű Kezelése tavasz

ELŐADÁS SZÁMÍTÓGÉP MŰKÖDÉSE FIZIKA ÉS INFORMATIKA

3C / DIY DVR H.264 Multiplex 4CH/8CH Network DVR Mobiltelefon/PDA/Egér támogatás ET-DVR / ET-DVR-08200

(A DRAM-okkal kapcsolatban a bank megnyitása, bank aktiválása, banksor megnyitása vagy a lap megnyitása kifejezések szinonímák, ugyanazt jelentik.

Kezelési kézikönyv. A következő fülekre kattintva a kézikönyv megfelelő szakaszához ugorhat. ImageBrowser EX. CameraWindow

FELHASZ ÁLÓI KÉZIKÖ YV. Számlázó programhoz

HÁZIPÉNZTÁR PROGRAM. Kezelési leírás

TVR 40 Rövid áttekintés

Multimédia Felhasználói útmutató

PagePro 1390 MF Fax Felhasználói

Útmutató a hardver használatához HP Compaq Notebook sorozat

FPGA áramkörök alkalmazásainak vizsgálata

Symbol - PDT 8100 mobil adatgyűjtő Főbb jellemzők

0 0 1 Dekódolás. Az órajel hatására a beolvasott utasítás kód tárolódik az IC regiszterben, valamint a PC értéke növekszik.

Méréstechnika. 3. Mérőműszerek csoportosítása, Elektromechanikus műszerek általános felépítése, jellemzőik.

KETTŐS KÖNYVELÉS PROGRAM CIVIL SZERVEZETEK RÉSZÉRE

Szoftverfrissítések Felhasználói útmutató

Számítógépek felépítése, alapfogalmak

SZÁMÍTÓGÉPARCHITEKTÚRÁK

MATRIX 2010 software vezérelt kommunikációs rendszer

Gyakorló feladatok. /2 Maradék /16 Maradék /8 Maradék

I. fejezet Hello Világ! Programozás tankönyv. II. Fejezet. Helló Világ! avagy a Miért?-ek elkezdődnek

Használati Utasítás KANMED Operatherm OP3

Készletnyilvántartó program. (KESZLET) verzió. Kezelési leírás

Kitöltési és beküldési útmutató a 2009Indikator elektronikus pályázati indikátor űrlaphoz

Szegmentálás. Memória kezelési stratégia mely a felhasználó nézőpontját támogatja Például:

Meghajtók Felhasználói útmutató

Felhasználói dokumentáció. a számviteli politika programhoz

komplex védelem Letöltő szoftver ismertető V1.61 Azonosító: EP Budapest, február

5. gyakorlat. Lineáris leképezések. Tekintsük azt a valós függvényt, amely minden számhoz hozzárendeli az ötszörösét!

Számítógép Architektúrák

KIBŐVÍTETT HASZNÁLATI ÚTMUTATÓ

Számlázás-házipénztár. (SZAMLA) verzió. Kezelési leírás

Biztonság. Felhasználói útmutató

Aritmetikai utasítások I.

2. Digitális hálózatok...60

Intézményi felhasználók karbantartása, jogosultság beállítása. Felhasználói dokumentáció. 1 / 9 oldal

Villamos jelek mintavételezése, feldolgozása. Mérésadatgyűjtés, jelfeldolgozás 9. előadás

MŰVELŐDÉSI ÉS KOMMUNIKÁCIÓS ALAPISMERETEK

Digitális technika II., 2009/2010 tavasz 1. vizsga A csoport

DT930 N Adagolásvezérlő

Az Ön kézikönyve HP SCANJET 7490C SCANNER

Informatika érettségi vizsga

WAC Klímaszervizelő készülék. Az eredeti használati utasítás fordítása HU-V (ed.4 ver.035)

2007/3. SZÁM TARTALOM. 36/2007. (MÁV-START Értesítő 3.) VIG. sz. utasítás: Végrehajtási. jegykiadó gép felhasználói kézikönyv...

MG6250 konzol vezeték nélküli riasztóközpont

TÁRGYI ESZKÖZ PROGRAM

Átírás:

Megszakítások és kivételek

Megszakítások Megszakítás a számítási rendszernek küldött jelzés, mely valamilyen esemény felléptéről értesíti. Egy megszakítás felléptekor a rendszer: megszakítja az aktív program futását végrehajtja az eseményt kezelő handlert folytatja a megszakított programot.

Megszakítások és kivételek hard megszakítás aszinkron egy külső esemény váltja ki: billentyűzet, órajel, ki/bemeneti művelet befejezése, stb. kivétel szinkron egy belső esemény váltja ki: trap a program a megszakítást kiváltó utasítás utáni utasítással folytatódik trap, rendszerhívások, stb. fault a program a megszakítást kiváltó utasítással folytatódik, vagy abortál page fault, 0-val való osztás, stb. abort a program hibajelzéssel befejeződik hard hibák, stb.

Intel processzorok 256 lehetséges megszakítás és kivétel 0-1F a processzornak fenntartott 20-0FF felhasználó által használható az operációs rendszer definiálja a kivételek nagy részét a szabadon maradt megszakításokat a felhasználó definiálhatja

Megszakítások kezelése (1) minden fellépő eseménynek egy eljárás felel meg, amely feldolgozza az adott eseményt a megszakítás rutinok far címe: védett üzemmódban a IDT deszkriptortáblában normál üzemmódban a megszakításvektorban (0000 címtől) az operációs rendszer különböző verzióiban a rutinok címe változik

Megszakítások kezelése (2) egy megszakítás rutin feladatai: a program állapotának kimentése újabb megszakítások letiltása a megszakítás kiszolgálása új megszakítások engedélyezése a megszakított program folytatása rendszerhívások esetén nem szükséges minden regiszter tartalmának a visszaállítása (paraméterek visszaadása) kivételek esetén gyakran nem folytatódik a megszakított program

DOS megszakítások Microsoft nem tartja be az Intel előírásokat a processzornak fenntartottmegszakításokat más célokra használja védett üzemmódban ugyanaz a megszakítás egész más funkciót lát el, mint normál üzemmódban

Hard megszakítások és kivételek mikroprocesszor által kiváltott: INT 00h 0-val való osztás INT 01h trace minden utasítás után, ha TF=1 INT 04h aritmetikai túlcsordulás memória INT 02h paritáshiba (RAM) nem maszkolható óra INT 08h 18,2-szer másodpercenként más felszerelések INT 09h billentyűzet, minden billentyű lenyomásakor illetve elengedéskor, a billentyű kódja kerül a pufferbe INT 05h print screen

egyszerű eljárások BIOS rutinok INT 11h konfiguráció lekérdezése INT 12h memóriaméret lekérdezése INT 14h soros vonalak kezelése INT 1Bh <Ctrl><Break> billentyű kezelése komplex BIOS funkciók egy megszakítás valamilyen hard eszközt kezel több funkció, az AH regiszter választja ki paraméterek a regiszterekben

BIOS rutinok INT 10h INT 10h képernyő kezelése AH=00h megjelenítési mód beállítása AL mód AH=02h kurzor pozíciójának beállítása DH sor; DL oszlop; BH lap száma AH=03h kurzor pozíciójának lekérdezése BH lap száma AH=05h aktív lap kiválasztása AL lap száma AH=08h kurzor pozíciójában levő karakter lekérdezése BH lap száma, AH kar. kódja, AL - attribútuma AH=09h karakter írása attribútum információkkal BH lap sorszáma, háttérszín, CX ismétlések, AL kar kód, BL attribútum, előtér szín

BIOS rutinok INT 13h INT 13h lemezegységek kezelése bemenő paraméterek AL átviendő szektorok száma ES:BX a memóriaterület címe CL kezdő szektor száma, sáv számának felső két bitje CH sáv számának alsó nyolc bitje DL lemezegység kódja DH fej száma kimenő paraméterek AH hibakód CF hiba esetén 1 állítja a 0000:441h címen levő hibakódot

BIOS rutinok INT 13h fontosabb funkciók: AH=02h szektorok olvasása AH=03h szektorok írása AH=04h szektorok ellenőrzése AH=05h sáv formázása AH=08h meghajtó paramétereinek lekérdezése AH=15h lemezmeghajtó típusának lekérdezése

Más BIOS rutinok INT 16h billentyűzet kezelése INT 19h rendszer újraindítása INT 1Ah időzítő egység kezelése INT 17h párhuzamos illesztők kezelése

BIOS adatszerkezetek címei adatszerkezetek címei INT 1Dh video paraméterek táblázatának címe INT 1Eh floppy egységek paraméterei táblázatának címe INT 41h első merevlemez paramétertábla címe INT 43h EGA, VGA grafikuskarakter tábla címe INT 46h második merevlemez paramétertábla címe a BIOS rutinok adatok tárolására felhasználják a 0000:0400 0000:04FF memóriaterületet is

DOS rutinok logikai szintű periféria kezelés a különböző DOS megszakítások helyett a 21h megszakítás funkcióit használjuk

INT 21h karakteres ki/bemenet AH=01h karakter olvasása megjelenítéssel AL beolvasott karakter AH=02h kiírás a képernyőre DL kiírandó karakter AH=05h kiírás a nyomtatóra DL kiírandó karakter AH=06h közvetlen konzol ki-bemenet AH=07h közvetlen konzol olvasás (echo nélkül) AH=08h billentyűzet olvasás echo nélkül AH=09h karakterlánc kiírása DS:DX karakterlánc címe, utolsó karakter $ AH=0Ah karakterlánc olvasása DS:DX input puffer címe, első byte max. hossz, 2. byte tenylegesen beolvasott byte-ok száma, Enter-ig olvas

INT 21h memória kezelés AH=48h memória blokk lefoglalása AH=49h memória blokk felszabadítása AH=4Ah memória blokk méretének változtatása

INT 21h folyamatok vezérlése AH=4Bh program betöltése, indítása AH=4Ch program befejezése kilépési kóddal (exit code) AL kilépési kód AH=31h rezidens befejezés AL kilépési kód, DX a program mérete paragrafusokban AH=4Dh előző program kilépési kódjának lekérdezése AL folyamat kilépési kódja, AH folyamat befejezésének oka

INT 21h lemezkezelés AH=19h aktuális meghajtó lekérdezése AL 00h-A; 01h-B; stb. AH=1Ah DTA (Data Transfer Area) címének beállítása AH=1Bh aktív lemezegység paramétereinek lekérdezése

INT 21h directorykezelés AH=39h alkatalógus létrehozása DS:DX alkatalógus nevének címe 00h-val lezárva CF 1, hiba; AX hibakód AH=3Ah alkatalógus törlése AH=3Bh váltása (change dir.) AH=4Fh aktív katalógus lekérdezése DL lemezegység száma DS:SI 64 byte-os puffer címe, ahol megkapjuk az aktív katalógus nevét

INT 21h állománykezelés (1) AH=3Ch állomány létrehozása file-számmal AH=3Dh állomány megnyitása file-számmal AL megnyitási mód, DS:DX 00h-val lezárt string címe (file neve) CF=1 hiba, AX fileszám vagy hibakód AH=3Eh állomány bezárása file-számmal BX fileszám CF=1 hiba, AX hibakód AH=3Fh állomány olvasása file-számmal AH=40h állomány írása file-számmal

INT 21h állománykezelés (2) AH=41h állomány törlése file névvel DS:DX 00h-val lezárt string címe (file neve) AH=4Eh első file keresése AH=4Fh következő file keresése AH=56h file átnevezése, mozgatása DS:DX 00h-val lezárt string címe (file régi neve) ES:DI 00h-val lezárt string címe (file új neve)

INT 21h más funkciók AH=30h DOS verziószámának lekérdezése AH=2Ah rendszerdátum lekérdezése AH=2Bh rendszerdátum beállítása AH=2Ch rendszeridő lekérdezése AH=2Dh rendszeridő beállítása AH=35h megszakításvektor lekérdezése AL megszakítás száma ES:BX megszakítás far címe AH=25h megszakításvektor beállítása AL megszakítás száma DS:DX új eljárás far címe

Megszakítás eltérítése (1) egy megszakítást eltérítő rezidens program szerkezete: start: JMP initresz rezidens rész adatzóna indul: rezidens rész kód initresz: inicializáló rész kód és adatok

Megszakítás eltérítése (2) Az inicializáló részt úgy hajtjuk végre,mint egy megszokott programot Feladatai: ellenőrzi, hogy a rezidens rész nincs-e már a memóriában beolvassa és elmenti a megszakítás eredeti kezdőcímét módosítja a megszakításvektort (beírja a megszakítást kezelő új eljárás kezdőcímét) inicializálja a rezidens rész adatzónáját, ha szükséges befejezi működését rezidens kilépéssel (DX regiszterben a rezidens eljárás hossza, a program elejétől az inicializáló részig paragrafusokban megadva)

Megszakítás eltérítése (3) ha a megszakítás eltérítése csak egy adott programban szükséges, nem installáljuk rezidensként az adott eljárást a megszakítást kezelő eljárás a program szerves része a program befejezése előtt visszaállítjuk az eredeti megszakítás címét