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.