Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Modalità di indirizzamento
Modalità di indirizzamento
22
1 byte 1 byte
xxxxxxxx
opcode
2 bit 3 bit 3 bit
modalità di indirizzamento
NB: La decodifica della istruzione comporta la lettura dei campi Opcode, MOD e R/M
Formato d’istruzione dell’8086
25
1 byte
opcode Istruzione di 1 byte – operandi impliciti
¤ MOV AX,2475
¤ ADD AX,3
Opcode Opcode
Operando
Operando Indirizzo
accumulatore SP stack
Indirizzamento implicito (8086)
29
Esempi
¤ MOV DX,AX
¤ MOV AH,BL
Indirizzamento diretto
31
SVANTAGGIO
¤ Richiede un ciclo di lettura in memoria per accedere al dato
Indirizzamento diretto (8086)
32
indirizzo
registro
• Esempio
MOV BX,OFFSET VAR
MOV AX,[BX]
MOV AX BX DS
BX Offset VAR +
00000000 VAR
11111111
AX 11111111 00000000
AH AL
Indirizzamento indiretto
con registro indice (8086)
36
• Esempio
MOV SI,OFFSET VAR
MOV AX,[SI]
MOV AX SI DS
SI Offset VAR +
00000000 VAR
11111111
AX 11111111 00000000
AH AL
Indirizzamento indicizzato
37
L’operando è in memoria
L’offset dell’operando è ottenuto sommando
due valori:
¤ un valore è contenuto in un registro specificato
nell’istruzione
¤ un valore è contenuto nell’istruzione
base
Offset di VAR + VAR
BX
4
MOV AL BX 4 + 01001100
AX 01001100
AH AL
Indirizzamento indicizzato con registro base
(8086)
40
Esempio
¤ MOV AL, [BX]+4
Forme equivalenti
¤ MOV AL, 4[BX]
¤ MOV AL, [BX+4]
Indirizzamento indicizzato con registro indice
(8086)
41
MOV DI, 4 DS
MOV AL,VAR[DI]
DI Displacement=4 + 01001100
AX 01001100
AH AL
Indirizzamento indicizzato con base + indice
(8086)
43
MOV AX,[BX+DI] DS
Esempio
¤ MOV AX, [BX+DI]
Forme equivalenti
¤ MOV AX, [BX][DI]
¤ MOV AX, [BX]+[DI]
Indirizzamento indicizzato con
base+ indice+displacement (8086)
46
DS
MOV AX, mat[BX+DI]
MOV AX BX DI Offset mat mat[1][1]
mat[1][2]
+ + 00000000 mat[1][3]
DI (16 bit) 11111111
mat[2][1]
mat[2][2]
BX (16 bit) MATRICE
2x3 mat[2][3]
AX 11111111 00000000
AH AL
Modalità di indirizzamento dell’8086
48
Indirizzamento immediato
Indirizzamento implicito
¤A registro
¤A stack
Indirizzamento a registro
Indirizzamento diretto
Indirizzamento indiretto con registro
Indirizzamento indicizzato
¤ Con registro base
¤ Con registro indice
¤ Con registro base+indice
¤ Con registro base+indice+displacement
Metodi di indirizzamento (1)
49