assembler€86ˆ 4

assembler€86ˆ 4



28 2. Mikroprocesory 8086/8088

MOV    AL,ZMIENNA BAJT[DI|    ; offset    =    7

MOV    AX,ZMIENNA SLOW()|SI +2]    ; offset    =    4

M()V    ZMIENNA_SLOWO[DI-6],CX    ; offset    =    2

Adresowanie pośrednie przez rejestr bazowy> i indeksowy. Adres efektywny jest obliczany jako suma zawartości obu rejestrów

[BX + SI]

lub

[BX]fSI]

[BP + SI]

lub

[BP)|SI]

)BX + DI)

lub

[BX]|DI]

)BP + Dl]

lub

[BP][DIJ

Przykład (rys. 2.17)

MOV

BP,0

MOV

BX,1

MOV

SI,3

MOV

DI,2

MOV

AX,[BX + SI]

MOV

[BP + DI],DX

MOV

[BX][DI].DX

MOV

AL,IBP + SI]

MOV

AX,[BP][DI]

MOV

[BP + SI),CX


; offset = 4 ; offset = 2 ; offset = 3 ; offset = 3 ; offset = 2

; offset = 3    +

Offset

A

9

Offest

8

-

1 7

6

6

5

r

_ . 5

" - - —

4

|BX + S1J 4

3

[SI|lub[BX][Dl]lub[BP + SI] 3

2

| F>I]lub[BP 4- DI]lub[BP)[DIJ 2

1

|BX] i

0

[BP] o

Rys. 2.17.

Rys. 2.18.

|ZMIENNA|BX + DI + l]!ub

(BRUSKI

[[BP + DI + 1]

[DI]lub|BX + SI+2]

[SIJlubZMIENNA

[BP]

|BX]

Adresowanie poÅ›rednie przez rejestr bazowy, indeksowy' i przemieszczenie. Sposób obliczania adresu efektywnego może być nastÄ™pujÄ…cy |BX + SI + liczba]    lub    [BX]|SI + liczba]

[BP + SI + liczba]    lub    [BPj[SI + liczba)

[BX +DI + liczba)    lub    [BX][DI + liczba)

[BP + DI + liczba]    lub    [BP][D1 + liczba]

ZMIENNA[BX + SI]    lub    ZMIENNA[BXJ[SI]

ZMIENNA[BP + SI]    lub    ZMIENNA[BP][SI]

27. Adresowanie układów wejścia-wyjścia

powered by

Mi siol


lub

ZMIENNA|BX]|SI + liczba]

lub

ZMIENNA[BP][SI + liczba]

lub

ZMIENNA[BX][DI]

lub

ZMIENNA[BP][DI]

lub

ZMIENNA[BX][DI + liczba]

lub

ZMIENNA[BP][DI + liczba]


ZMIENNA[BX + SI + liczba]

ZMIENNA|BP + SI + liczba]

ZMIENNA|BX + DI]

ZMIENNA[BP + DI]

ZMIENNA[BX + DI + liczba]

ZMIENNAfBP + DI + liczba]

Przykład (rys. 2.18)

offset

offset

offset

offset


4

6

7

7


MOV BX,0 MOV BP,1 MOV SI,2 MOV DI,4 MOV AX,[BX + SI + 2]

1],CH


MOV [BP + DI + 1],DX MOV ZMIENNA[BX + Dl +

MOV [BP][SI + 4],BL

2.7. Adresowanie układów wejścia-wyjścia

W przypadku jednolitego adresowania ukÅ‚adów pamiÄ™ci i ukÅ‚adów wejÅ›cia-wyjÅ›cia (ang. niemoty mapped ), wszystkie wymienione w p. 2.6 sposoby adresowania dotyczÄ… obu rodzajów ukÅ‚adów. W przypadku adresowania rozdzielonego, ukÅ‚ady wejÅ›cia-wyjÅ›cia mogÄ… być adresowane dwoma sposobami

Adresowanie bezpośrednie

Adres układu wejścia-wyjścia jest 8-bitową liczbą bez znaku będącą fragmentem kodu rozkazu. Ten sposób adresowania pozwala na adresowanie do 256 układów wejścia-wyjścia.

Adresowanie pośrednie

Sposób adresowania zbliżony do omówionego w p. 2.6 adresowania za poÅ›rednictwem rejestru. Adres ukÅ‚adu wejÅ›cia-wyjÅ›cia jest pobierany z rejestru DX i może mieć wartość z zakresu od 0 do 65535.


Wyszukiwarka

Podobne podstrony:
assembler?86? 2 104 5. Rozkazy mikroprocesorów 8086/8088 Przykłady 104 5. Rozkazy mikroprocesorów
assembler?86? 9 118 5. Rozkazy mikroprocesorów 8086/8088 MOV AL, 8FH CBW ???? ???? 1111 1111 1000
assembler?86? 1 142 5. Rozkazy mikroprocesorów 8086/8088 MOV AL, STD ; DF«-1 SCASB JE STOP CM
assembler?86? 4 88 5. Rozkazy mikroprocesorów 8086/8088 MOV ZMIENNAfSI], ES MOV X[BP + DI + 1], SS
assembler?86? 6 52 4. JÄ™zyk asemblerowy mikroprocesorów 8086/8088 MOV AX, DANE 2    
assembler?86? 2 144 5. Rozkazy mikroprocesorów 8086/8088PrzykÅ‚ad MOV AL, 20H    ; s
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? 3 26 2. Mikroprocesory 8086/8088 Przykład (rys. 2.12) ZMIENNA2 ZMIENNA 1 ADD AX, ZMI
assembler?86? 5 50 4. Język asemblerowy mikroprocesorów 8086/8088 ; w kolejnym przykładzie zmienne
assembler?86? 5 W 90    5. Rozkazy mikroprocesorów 8086/8088 PrzykÅ‚ady PUSH ZMIENNA
assembler?86? 8 % 5. Rozkazy> mikroprocesorów 8086/8088 Przykład LA HF NOT AH SAHF; znaczniki s
assembler?86? 5 130 5. Rozkazy mikroprocesorów 8086/8088 Przykłady SAR ZMIENNA, 1 SAR BAJT[BP +1],
assembler?86? 7 94 5. Rozkazy mikroprocesorów 8086/8088 OUT DX, AX MOV DX, 7645 OUT DX, AL  &
assembler?86? 4 48 4. Język asemblerowy mikroprocesorów 8086/8088 tępne segmenty będą łączone jak
assembler?86? 4 68 4. Język asemblerowy mikroprocesorów 8086/8088 Dyrektywy .LALL, .SALL, .XALL Dy
assembler?86? 4 108 5. Rozkazy mikroprocesorów 8086/8088 PrzykÅ‚ady DEC SI DEC AX    
assembler?86? 4 128 5. Rozkazy mikroprocesorów 8086/8088 Przesunięcie logiczne w prawo o 1 bit Ope

więcej podobnych podstron