2. El 8086 ofrece una multitud de vías para
direccionar la información: registro a registro,
direccionamiento inmediato, direccionamiento
directo y varios tipos diferentes de
direccionamiento indirecto.
3. Es aquel en el cual la operación se lleva a cabo
entre los contenidos de dos registros. Por
ejemplo, la instrucción
4. MOV AX,BX
indica que el contenido del registro BX sea
copiado en el registro AX.
MOV Rn,A
Carga en el registro Rn el contenido del
acumulador: Rn <--- (A).
Este direccionamiento ocupa muy poca memoria
de programa y permite acceder de manera rápida
a los datos más frecuentemente utilizados.
5. En este modo de direccionamiento, uno de los
operandos está presente en el o los bytes
siguientes al código de operación. Por ejemplo, la
instrucción
6. ADD AX,3064h
indica que el número 3064h sea sumado al
contenido del registro AX y el resultado
almacenado en dicho registro.
MOV A,#255
Carga en el acumulador el número decimal 255.
MOV DPTR,#36CAH
Carga en el registro DPTR el valor 36CAH.
7. EL 8086 implementa el direccionamiento directo a
memoria, sumando un desplazamiento de 16 bits,
indicado por los dos bytes que siguen al código
de operación, al contenido del registro de
segmento de datos. La suma es pues, la posición
de memoria direccionada.
8. MOV AH,TABLA
señala que el contenido de la posición de memoria
cuya dirección está indicada por el identificador
TABLA, sea copiado en el registro AH.
ADD A,3BH
esta instrucción suma (ADD) al contenido del
acumulador el contenido de la posición de memoria
3BH: A <--- (A) + ([3B]).
9. El modo de direccionamiento indirecto es el más
difícil de comprender, pero también el más
poderoso. Existen cuatro métodos de
direccionamiento indirecto: indirecto a registro,
relativo a base, indexado e indexado a base.
10. En el modo de direccionamiento indirecto a
registro, la dirección de memoria donde se
encuentra uno de los operandos es indicada a
través del contenido de los registros BX, BP, SI o
DI. La instrucción
11. mov AX,[DI]
establece que el contenido de la palabra de
memoria cuya dirección está indicada por el
contenido del registro DI, sea copiado en el
registro AX.
12. El direccionamiento a la memoria de datos,
relativo a base simplemente usa el contenido del
registro BX o BP como base para la posición
efectiva de memoria. La instrucción
13. MOV CL,[BP]+DESP
copia el contenido de la posición de memoria
cuya dirección está determinada por la suma del
contenido de BP y DESP, en el registro CL.
14. El direccionamiento indexado directo está permitido
especificando los registros SI o DI como índices.
Empleando este modo de direccionamiento es
posible acceder a los elementos de un vector. La
instrucción
15. sub AH,MATRIZ[SI]
resta del contenido del registro AH, el valor
contenido en la posición de memoria especificada
por la suma del desplazamiento indicado por el
identificador MATRIZ y el contenido del registro
SI.
16. Resulta de la combinación de los modos de
direccionamiento Relativo a Base e Indexado
Directo. La instrucción
17. mov DH,VECTOR[BX][DI]
señala que el contenido de la posición de memoria
cuya dirección viene indicada por la suma de los
contenidos de los registros BX y DX y del
desplazamiento establecido por el identificador
VECTOR, sea copiado en DH.