Labor elmélet 1. Flashcards
Mit csinál a CPU?
CPU: memóriában tárolt adatokat kiolvassa, értelmezi és végrehajtja
Mi az ALU?
Műveletvégző
Mik a regiszterek?
~tárolók, sokkal gyorsabb, mint a memória közvetlen hozzáférése
Mi a RAM?
elsődleges adattároló (bit/byte/word/dword)–Memóriaszervezés byte alapú(minden byte-hoz egy cím van rendelve)
Gépi kód felépítése
Műveleti kód operandus pl.: mov ah, 03h Műveleti kód: mit kell csinálni Operandus: hol/min kell végrehajtani Assemblyben mnemonikokat használunk.
Általános célú regiszterek (16 bites)
ax, bx, cx, dx
Ezek alsó és felső részre oszthatók:
pl.: ax=ah (8bit)(felső), al (8bit)(alsó) (ezek külön címezhető részek, nem különálló regiszterek
kép55
Dedikált regiszterek
–SP: veremmutató (a verem tetejére mutat)
–BP: bázismutató (a verem egy elemét jelöli ki)
–SI: forrásindex (stringkezelő utasítások használatakor a forráscímet tartalmazza)
–DI: célindex (cél stringcímét tartalmazza)
–SR: státusz regiszter (Flag)
Memória címzés
16 bites címmel megcímezhető legnagyobb memória értéke 65535 (64K memória) Nagyobb megcímezhető memória használata érdekében: –CS: kód szegmens –DS: adat szegmens –ES: extra szegmens –SS: verem szegmens
SR (stárusz regiszter) állapotai
a Flagekettartalmazza, amelyek az állapotteret reprezentálják, ezek bizonyos műveletek hatására állapotot válthatnak kivonás, túlcsordulás, stb.)
C(CARRY FLAG –átviteljelző bit)
1-re áll, ha az aritmetikai művelet során átvitel vagy áthozat keletkezik bitléptető és forgató utasítások során is használatba kerül
P(PARITY FLAG –paritásjelző bit)
adatkommunikációs alkalmazások során szükségespáros parítás esetén értéke 0
A(AUXILIARY CARRY FLAG –segédátvitel jelző bit)
BCD (binárisan kódolt decimális) aritmetikában használatos
Z(ZERO FLAG –zérusjelző bit)
1-re áll ha az eredmény zérus
S(SIGN FLAG –eljelző bit)
negatív eredmény esetén 1-re áll
O(OVERFLOW FLAG –túlcsordulás jelző bit)
egy matematikai művelet eredménye meghaladja a kiszabott tartományt, akkor 1-re áll
80386 processzor kiegészítések regiszterek
•regiszterek –EAX, EBX, ECX, EDX (32bites) –ESP veremmutató, EBP bázismutató –ESI (forrásindex), EDI (célindex) •szegmens regiszterek –CS (code), DS (data), SS (stack), ES (extra), FS, GS (16bites)
Lehetséges címzési módok
- MOV AH, 0AH-ba0-t tölt
- MOV AL, 04AL-be4-et tölt
- MOV AX, 42134AX-be42134-et tölt
- MOV AX, BXAX-bebetölti BX tartalmát
- MOV AH, BL AH-babetölti BL tartalmát (azonos regiszterméret!)
- MOV AX, 0FFFFhAX-bebetölti 0FFFF hexaszámot (65535 decimális, a betűvel kezdődő hexadecimális szám elé 0-t kell írni!)
- MOV AL,-40AL-bebetölti -40 decimális számot
- MOV AX,OFFSET MYDATAA MYDATA szegmensen belüli „offset” címe berülAX-beMYDATA címke egy memóriacímke, ahol az adat van
- MOV AX,[SI] AX-betölti az SI regiszter által mutatott 16 bites értéket
- MOV AL,[SI]AL-betölti az SI regiszter által mutatott 8 bites értéket
- MOV AX,[SI+2] Az SI regiszter+2 cím által mutatott adat kerül AX-be
Megszakítások fajtái
•Hardver megszakítások •Szoftver megszakítások –a program kódjából kerül aktiválásra –a program futásával szinkron, mindig ugyanott következik be (INT utasítások) –nem maszkolhatóak
Szoftver megszakítások
- amikor egy szoftvermegszakítás meghívásra kerül, az INT utasítás után megadott azonosítóhoz tartozó kiszolgáló rutin fut le
- ebből 256 dbvan: INT 00h…INT 0FFh•a megszakítás-kezelő rutinok kezdőcímei a megszakítás vektortáblában találhatók
- ezt a „táblázatot” az operációs rendszer tölti be a bootolásifolyamat során
- az INT utasítások ebből olvassák ki a szolgáltatások kezdőcímét
- INT n hatására az n. bejegyzés tartalma lesz a következő végrehajtandó utasítás címe
INT 21H
- az int 21h-t szokás MS-DOS API-nakis hívni, mivel a legtöbb operációs rendszeri funkciót ezen keresztül tudjuk elérni
- azt, hogy a szolgáltatásnak melyik al-funkciójátakarjuk használni, regiszterekben közöljük (pl. AH-ban)
- Pl. karakter beolvasás, karakter kiírás, stringkiírás
Gyakori utasítások áttekintése
- MOV–adatmozgatás
- ADD–összeadás
- SUB–kivonás
- CMP–összehasonlítás
- JMP–feltétel nélküli vezérlés átadás
- JZ, JNZ, JC, JNC, … -feltételes vezérlést átadó utasítások
- PUSH, POP –vermet kezel utasítások
- INT–megszakítási eljárás hívása
- CALL, RET –szubrutin hívás