Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
KiadtaVeronika Takácsné Megváltozta több, mint 10 éve
1
Számítógép architektúra Címzésmódok
2
2007Címzésmódok2-21 Operandusok egy operandus hossza lehet: –1 byte –2 byte (szó) –4 byte egy operandus lehet: –az utasítás része –regiszterben –memóriában az adatszegmensben (címzés a DS szegmensregiszterrel) a veremszegmensben (címzés az SS szegmensregiszterrel) valamelyik járulékos szegmensben (címzés az ES, FS vagy GS szegmensregiszterrel)
3
2007Címzésmódok3-21 Közvetlen címzés Az operandus az utasítás része Operandus = cím mező Pl. ADD AX,5 – Adj hozzá 5-öt az akkumulátorhoz – 5 operandus Nincs memória hivatkozás hogy megkapjuk az operandust Gyors
4
2007Címzésmódok4-21 Közvetlen címzés diagramm Operandus Opkód Utasítás
5
2007Címzésmódok5-21 Regiszter címzés Az operandus a cím mező által megadott regiszterben van Effective address (ea) = R Példa: ADD AX,BX Nincs memória hozzáférés Nagyon gyors végrehajtás Kevés regiszter Nagyon kicsi címtartomány Rövidebb utasítások Gyorsabb utasítás lehívás
6
2007Címzésmódok6-21 Regiszter címzés diagramm R regiszter cím Opkód Utasítás Regiszterek Operandus
7
2007Címzésmódok7-21 Memória operandusok Valós üzemmód: Szegmens szám 15 0 ·16 + eltolás (offset) 15 0 Védett üzemmód: Szegmens szelektor 15 0 eltolás (offset, effective address) 31 0
8
2007Címzésmódok8-21 Effektív cím (1) Megadható statikus értékként (direkt címzés) Kiszámítható végrehajtáskor a következő komponensekből: –eltolás – egy 8, 16 vagy 32 bites érték –bázis – egy általános célú regiszter tartalma –index – egy általános célú regiszter tartalma –skálázási tényező – 2, 4 vagy 8, amivel szorozzuk az indexregiszter tatalmát
9
2007Címzésmódok9-21 Effektív cím (2) 32 bites regiszterek esetén bármelyik általánoscélú regiszter lehet bázis illetve indexregiszter Skálázási tényezőt csak 32 bites indexregiszterrel használhatunk ESP nem használható indexregiszterként ESP (SP) és EBP (BP) a veremszegmensben határoz meg címet Más bázisregiszter esetén az adatszegmens az implicit 16 bites regiszterek használata esetén csak az adott célra szolgáló regiszterek használhatóak bázis ill. indexregiszterként.
10
2007Címzésmódok10-21 Direkt címzés A cím mező az operandus címét tartalmazza ea = cím mező Pl. ADD AX,[A] –az A címen levő értéket hozzáadja az akkumulátorhoz –a memóriában az A címen keresi az operandust Egyetlen memória hivatkozással kapja meg az adatot Nincs szükség plussz műveletekre a címszámításhoz Statikus adatok címzésére
11
2007Címzésmódok11-21 Direct címzés diagramm A címOpkód Utasítás Memória Operandus
12
2007Címzésmódok12-21 Regiszter indirekt címzés ea = [R] Az operandus az R regiszter által mutatott memória címen van R lehet BX, SI vagy DI 4 byte-os regiszterek használata esetén nincs megkötés, bármelyik regiszter lehet
13
2007Címzésmódok13-21 Regiszter indirekt címzés diagramm R regiszter cím Opkód Utasítás Memória Operandus Mutató az operandusra Regiszterek
14
2007Címzésmódok14-21 Báziscímzés ea = [R+eltolás] A cím mező két részből áll –báziscím a BX vagy BP vagy valamely 32 bites regiszterben –8, 16 vagy 32 bites eltolás Az eltolást előjelhelyesen kiegészítve hozzáadja a bázisregiszter tartalmához BX az adatszegmensben, BP a veremszeg- mensben címez Adatstruktúra elemeihez való hozzáférés
15
2007Címzésmódok15-21 Báziscímzés diagramm R regiszterOpkód Uasítás Memória Operandus Báziscím Regiszterek Eltolás +
16
2007Címzésmódok16-21 Indexelt címzés ea = [R*s+eltolás] A cím mező két részből áll –index az SI, DI vagy valamely 32 bites regiszterben –8, 16 vagy 32 bites eltolás 32 bites indexelő regiszter esetén s skálázó tényező használható (2, 4 vagy 8) Az eltolást előjelhelyesen kiegészítve hozzáadja a skálázott indexregiszter tartalmához Egy dimenziós tömb elemeihez való hozzáférés
17
2007Címzésmódok17-21 Indexelt báziscímzés ea = [R b +R i *s] A cím mező két részből áll –index az SI, DI vagy valamely 32 bites regiszterben –báziscím a BX, BP vagy valamely 32 bites regiszterben Az bázisregiszter tartalmát hozzáadja a skálázott indexregiszter tartalmához 32 bites indexelő regiszter esetén s skálázó tényező használható (2, 4 vagy 8)
18
2007Címzésmódok18-21 Indexelt báziscímzés eltolással ea = [R b +R i *s+eltolás] A cím mező 3 részből áll –index az SI, DI vagy valamely 32 bites regiszterben –báziscím a BX, BP vagy valamely 32 bites regiszterben –8, 16 vagy 32 bites eltolás A bázisregiszter tartalmát és az eltolást előjelhelyesen kiegészítve hozzáadja a skálázott indexregiszter tartalmához 32 bites indexelő regiszter esetén s skálázó tényező használható (2, 4 vagy 8)
19
2007Címzésmódok19-21 Címzési lehetőségek 32 bites regiszterekkel Bázis EAX EBX ECX EDX ESP EBP ESI EDI Index EAX EBX ECX EDX EBP ESI EDI * Skálázási tényező 1 2 4 8 Eltolás Nincs 8 bit 16 bit 32 bit + +
20
2007Címzésmódok20-21 Címzési lehetőségek 16 bites regiszterekkel Bázis BX BP Index SI DI Eltolás Nincs 8 bit 16 bit ++
21
2007Címzésmódok21-21 Cím Egy cím lehet: –közeli (near) – csak az eltolást kell megadni –távoli (far) – meg kell adni a szegmens címet és az eltolást is
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.