assembler€86ˆ 3

assembler€86ˆ 3



26


2. Mikroprocesory 8086/8088

Przykład (rys. 2.12)

ZMIENNA2 ZMIENNA 1


ADD AX, ZMIENNA 1    ; offscl = 1

ADD AL, DS:0    ; offset = 0

ADD AH, ZM1ENNA2 + 1 ; offset = 4

Adresowanie pośrednie

W adresowaniu poÅ›rednim do obliczenia adresu efektywnego wykorzystuje siÄ™ jeden z rejestrów bazowych i (luj?) jeden z rejestrów indeksowych (nazwa rejestru musi być ujÄ™ta w nawias prostokÄ…tny). Oprócz tego może wystÄ…pić przemieszczenie, które dodaje siÄ™ do zawartoÅ›ci odpowiedniego rejestru.

Adresowanie pośrednie przez rejestr bazom - adres efektywny znajduje się w rejestrze [BX| lub |BP|.

Przykład (rys.2.13)

MOV BX,4    ;    zaÅ‚aduj do rejestru bazowego liczbÄ™ 4

MOY BP,6    ;    zaÅ‚aduj do rejestru bazowego liczbÄ™ 6

MOY | BPJ.CL    ;    zawartość rejestru CL przeÅ›lij do bajlu w

; pamięci dla którego offset = 6

MOY AX,[BX]    ; sÅ‚owo (offset = 4) przeÅ›lij do akumulatora    +

Adresowanie poÅ›rednie przez rejestr bazowy? i przemieszczenie. Adres efektywny może być obliczany nastÄ™pujÄ…co [BX + liczba)    [BP + liczba]

Zmicnna[ BX]    Zmienna(BP)

Zmienna|BX+liczba]    Zmienna[BP + liczba]

Offset

A

9

8

O fiest

7

6

[BP] 6

5

5

4

[BX] 4

3

3

2

—

2

1

i :

0

0

Rys. 2.13.

Rys. 2.14


!BP|

|BX+4]Iub|BP-2|

ZMIENN Ä„^SLO WO[BX -f 2]

/.MIi:\NA_SI OWO|BP-6]

IBX11ubZMIENNA BAJT[BX| lub ZMIENNA SLClWO

zmienna.bajt

2.6. Sposoby adresowania pamięci

powered by

Mi si-ol


przykład (rys.2.14)

MOV BX,1 M()V BP.7 M(>V AX,[BX + 4|

MOV |BP-2],DX— ty- '

MOV ZMIENNA BAJT|BX|,CL MOV AL,ZMIENNA_BAJT|BP|

MOV AX,ZMIENNA_SLOWO[BX + 2| MOV ZMIENNA_SLOWO[BP-6],CX


; offset = 5 ; offset = 5 ; offset = 1 ; offset = 7 ; offset = 4

; offset = 2    +


Adresowanie pośrednie przez rejestr indeksowy - adres efektywny stanowi wprost zawartość rejestru [SI] lub [DI].

Przykład |rys. 2.15)

MOV DI,2 MOV SI,0

MOV AX,[SI]    ; offset =0

MOV [Dlj,BX f    ; offset =2    +

Adresowanie poÅ›rednie przez rejestr indeksowy i przemieszczenie. Adres efektywny mo/c być obliczany nastÄ™pujÄ…co [SI + liczba]    [DI + liczba]

ZmiennafSI ]    Zmienna) DI ]

Zmienna|SI + liczba]    Zmienna)DI -f liczba]

Offset

A

9

8

Offset

7

___J

6

6

5

5

4

4

3

3

-

2

|DI] 2

1

1

0

|S1] 0

|SI +4]lub[DI-2]

zmii:nna_slowo(si+2]

ZMIENNASI ,OWO[DI-6j

[SIJlubZM 11 iNN A_B AJT[ SI | ZMIENNA BAJT

Rys. 2.15.    Rys. 2.16.

Przykład (rys. 2.16)

lubZMIFNNABAJT


; offset = 5 ; offset = 5 ; offset = 1


M()V SI,1 MOV DI,7 MOV AX,[SI +4]

MOV [DI-2],DX

MOV ZMIENNA_BAJT[SI],CL


Wyszukiwarka

Podobne podstrony:
assembler?86? 8 % 5. Rozkazy> mikroprocesorów 8086/8088 Przykład LA HF NOT AH SAHF; znaczniki s
assembler?86? 7 74 4. Język asemblerowy mikroprocesorów 8086/8088 Przykład ZMIENNA A DW 5*5 ; =
assembler?86? 5 W 90    5. Rozkazy mikroprocesorów 8086/8088 PrzykÅ‚ady PUSH ZMIENNA
assembler?86? 2 104 5. Rozkazy mikroprocesorów 8086/8088 Przykłady 104 5. Rozkazy mikroprocesorów
assembler?86? 4 108 5. Rozkazy mikroprocesorów 8086/8088 PrzykÅ‚ady DEC SI DEC AX    
assembler?86? 5 130 5. Rozkazy mikroprocesorów 8086/8088 Przykłady SAR ZMIENNA, 1 SAR BAJT[BP +1],
assembler?86? 7 134 5. Rozkazy mikroprocesorów 8086/8088 Przykłady MOVCL, 11 ROR ZMIENNA[BP], CL
assembler?86? 0 20 2. Mikroprocesory 8086/8088 Znacznik kierunku DF jest wykorzystywany przy wykon
assembler?86? 1 22 2. Mikroprocesory 8086/8088 jest niezależny od innych segmentów i jest programo
assembler?86? 2 24 2. Mikroprocesory 8086/8088 Rodzaj operacji realizowanej przez BIL Rejestr s
assembler?86? 4 28 2. Mikroprocesory 8086/8088 MOV    AL,ZMIENNA BAJT[DI
assembler?86? 3 146    5. Rozkazy mikroprocesorów 8086/8088 Tablica 5.11. PrzykÅ‚ado
assembler?86? 3 46 4. Język asemblerowy mikroprocesorów 8086/8088 PARA - początek segmentu będzie
assembler?86? 5 50 4. Język asemblerowy mikroprocesorów 8086/8088 ; w kolejnym przykładzie zmienne
assembler?86? 3 66 4. Język asemblerowy mikroprocesorów 8086/8088 66 4. Język asemblerowy mikropro
assembler?86? 3 86 5. Rozkazy mikroprocesorów 8086/8088 LES - załadowanie adresu logicznego do wsk
assembler?86? 3 106 5. Rozkazy1 mikroprocesorów 8086/8088 SBB (ang. subtract byle or word with bor
assembler?86? 3 166 5. Rozkazy mikroprocesorów 8086/8088 STI (ang. set intemipt enable flag) ustaw
assembler?86? 0 40 4. Język asemblerowy mikroprocesorów 8086/8088 W książce omówimy wersję MASM 4.

więcej podobnych podstron