Labor elmélet 2. Flashcards

1
Q

Általános célú regiszterek

A
  • AX: számos aritmetikai utasítás cél, ill. forrásregisztere
  • BX: memóriacímzésnél használható bázisnak
  • CX: ciklusokhoz használható, minden iteráció során eggyel csökken
  • DX: I/O utasítások itt tárolják a port számaikat, ill. bizonyos aritmetikai utasítások használják
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

MOV művelet

A

•MOV cél,forrás

–a forrásoperandus tartalmát átmásolja a céloperandusba

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

ADD művelet

A

•ADD cél, forrás
–két operandus összeadását végzi el, az eredményt a céloperandus helyére írja
•befolyásolt flag-ek A, C, O, P, S, Z

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

SUB művelet

A

•SUB cél, forrás
–forrásoperandust kivonja a céloperandusból, és az eredményt a céloperandusba teszi
•befolyásolt flag-ek O, S, Z, P, A, C

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

CMP utasítás

A

•CMP cél, forrás
–két operandus összehasonlítása
–kivonja a forrásoperandust a céloperandusból, az operandusok tartalma változatlan marad, azonban a jelzők megváltoznak
•befolyásolt flag-ek O, S, Z, P, A, C

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

JMP utasítás

A

•JMP cél
•feltétel nélküli ugrás végrehajtása
–hatására a program vezérlését egy másik utasítás kapja meg anélkül, hogy a visszatérésről bármilyen információt tárolna
–ugrási távolság szegmensen belül bárhová

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

JZ,JNZ, JC, JNC utasítások

A

•feltételes ugrás végrehajtása
–J(feltétel)
–feltétel lehet pl. a jelzőbitek
–ugrási távolság -128 -+ 127 bájt

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Bináris műveletek

A

•AND
◦csak akkor 1, ha mindkét bit értéke 1
◦maszkolásra lehet használni
•OR
◦csak akkor 0, ha mindkét bit értéke 0
•XOR
◦csak akkor 1, ha különböznek a bit értékei ◦komplemens képzésre lehet használni
•SHL
◦bitléptetés balra, szorozva 2-vel, belépő bit 0
•SHR
◦bitléptetés jobbra, osztva 2-vel, belépő bit 0
•ROR
◦bitléptetés jobbra, belépő bit a kilépő bit értéke
•ROL
◦bitléptetés balra, belépő bit a kilépő bit értéke

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Címzési módok

A
  • Azonnali címzés
  • Regisztercímzés
  • Közvetlen címzés
  • Közvetett regisztercímzés
  • Relatív báziscímzés
  • Közvetlen indexelt címzés
  • Indexelt báziscímzés eltolással vagy anélkül
  • 80386-os kiegészítések
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Azonnali címzés

A
-MOV AH,00
MOV AL,04
-MOV AX,0FFFFH
◦betűvel kezdődő hexadecimális szám elé 0-t kell írni
-MOV AX,302
◦előjelkibővítés
-MOV AL,-40
◦előjelkibővítés, nem kettes komplemens!
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Regisztercímzés

A
  • legkevesebb gépi ciklus
  • MOV DS,AX
  • MOV DL,AL
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Közvetlen címzés

A

-MOV AX,OFFSET MYDATA

◦MYDATA címke egy memóriacímke, ahol az adat van

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Közvetett regisztercímzés

A

-forrásoperandus megcímzése egy helyzetcímmel történik, amely a következő regiszterek egyikében található
◦SI, DI, BX (BP)
-MOV BX,OFFSET MYDATA
MOV AX,[BX]
-LEA BX,MYDATA
-jól alkalmazható, amikor az adatokat egy táblázatban tároltuk
-bázisregiszter értékét egy ciklusban növeljük

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Relatív báziscímzés

A

-leggyakrabban összetett adatszerkezeteknél (rekordok) használják
-BX (BP) összegezzük az eltolási értékkel
◦BX (BP): rekord megcímzése◦eltolás: mező megcímzése
-LEA [BX] + 4
-LEA4[BX]
-LEA[BX + 4]

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Közvetlen indexelt címzés

A

-leggyakrabban statikus tömbök elemeinek eléréséhez használják
-az eltolási értéket egy indexregiszterhez (SI vagy DI) adják hozzá
-MOV SI,4
MOVAL,ARAY1[SI]
(MOVAX,ARAY1[SI])

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Indexelt báziscímzés

A
  • leggyakrabban dinamikus tömbök elemeinek elérésénél használják
  • BX (BP) + DI (SI) + eltolási érték (opcionális)
  • MO VAX,ELEMENT[BX][DI]
17
Q

Verem

A

-a verem LIFO tulajdonsággal rendelkezik
◦Mindig a verem tetején lévő elemet tudjuk kiolvasni, amelyet a verem mutató jelöl ki
◦8086 esetén a verem mérete max. 64K lehet (szegmensméret)
-a verem szegmensét az SS mutatja
-a verem tetejét az SP jelöli ki
-a kiolvasás tehát SS:SP elven történik
-két művelet értelmezett rajta
◦PUSH: egy értéket helyez a verembe
◦POP: a verem tetején lévő adatot olvassa ki
-az újonnan elhelyezett elemek egyre alacsonyabb memóriacímen helyezkednek el

18
Q

Push utasítás

A

-PUSH
◦először csökkenti SP-t, majd beírja az értéket
◦pl.: PUSH 1234h

19
Q

Pop utasítás

A

-POP
◦először kiolvassa az értéket, majd növeli SP-t
◦pl.: POP AX (a verem tetején lévő elem AX-be kerül)