Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
1
A Mikroprocesszor Harmadik rész
2
A mikroprocesszor utasításkészlete
A processzor egyik fontos jellemzője, hogy hány és milyen típusú gépi utasítás végrehajtására képesek. A processzor számára értelmezhető utasítások összességét nevezzük utasításkészletnek
3
A gépi utasítás szerkezete
Meghatározza a CPU számára, hogy a gépi utasítás mely részét hogyan kell értelmeznie
4
Általános felépítés : A műveleti rész: az elvégzendő feladatot tartalmazza pl összeadás. Címrész: az adatok helyét határozza meg a tárolóban. Módosító rész: a műveleti rész ill. a címrész értelmezéséhez ad kisegítő információt.
5
Címzési módszerek: A gépi kódú utasítások abban is különböznek egymástól, hogy az adatokra való hivatkozást milyen formában tartalmazzák. Ezek összefoglaló neve a címzési eljárás. PL: Abszolút címzés Relatív címzés Közvetlen adat címzés Verem címzés Közvetett címzés Indexelt címzés
6
Abszolút címzés: Az utasítás címrészében, az utasításban résztvevő adatok valódi címét azaz a memóriarekesz sorszámát tartalmazza. A cím vonatkozhat a memóriára, vagy a processzor valamelyik regiszterére PL: MOV AX,DX MOV AX, [004H]
8
Relatív címzés: Az utasítás címrészében, az utasításban résztvevő adatnak valamilyen alapcímhez vagy báziscímhez viszonyított relatív helyzetét tartalmazza! Ekkor a tényleges fizikai címet a báziscím és a relatív cím összeadásával kapjuk. PL: MOV [BP+4]
10
Közvetlen adat címzés: (értékadócímzés, álcímzés, literálcímzés)
Az utasításban maga az adat található meg amellyel a műveletet kell végrehajtani. PL: MOV AX, 0 ADD AX, B
11
Verem címzés: Verem (STACK) vagy egy regisztertár a CPU ban, vagy egy kijelölt memória terület a főtárban. Jellemzője: az utoljára beírt adatot lehet először kiolvasni. LIFO (last in first out)
12
1.) Memóriaverem Írás (adatbevitel) PUSH Olvasás (adatkihozatal) POP
A verem megcímzése egy regiszterrel történik: „veremmutató” SP stack pointer. Kétféle veremművelet van: Írás (adatbevitel) PUSH Olvasás (adatkihozatal) POP
13
Veremcímzés esetén a veremmutató tartalmát növelni (inkrementálni) kell a beírás után, és csökkenteni (dekrementálni) kell kiolvasás előtt.
14
2.) Kaszkád verem Itt a verem a CPU-ban van és korlátozott számú regiszterből áll. Ennél nincs szükség SP ra mivel mindig a verem legtetejével dolgozunk
15
Adatbevitel a kaszkád verembe:
16
Adatkihozatal a kaszkád veremből:
17
Mire jó a veremtár? A legtöbb programban vannak olyan gyakran alkalmazott utasítássorozatok, amelyeket többször használunk a program végrehajtása során, de csak egyszer tároljuk a memóriában. Ezeket a programrészek (rutinokat) szubrutinnak nevezzük. Az adott programrészt (pl: gyökvonás) egy CALL utasítással érjük el. (szubrutinhívás). A szubrutin végrehajtása után a főprogramot ott szeretnénk folytatni ahol a CALL utasításkor abbahagytuk. Ehhez a szubrutin hívás előtt a SP aktuális értékét a verembe kell menteni egy PUSH utasítással. A szubrutin végrehajtását követően egy RET utasítás a verem tetejéről kiolvassa a mentett SP címet és folytatja a főprogramot.
18
Közvetett címzés: (indirekt)
Indirekt címzésnél nem az operandus címe található az utasítás címrészében, hanem annak a tároló helynek a címe, ahol az operandus címét megtalálja a processzor.
20
Indexelt címzés: Adatsorozatokon való műveletvégzés esetén alkalmazandó. Indexelt címzésnél a tényleges címet úgy kapjuk meg, hogy az utasításban levő címhez hozzáadjuk az indexregiszterben található értéket.
22
Köszönöm a figyelmet!
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.