Requisito previo: modos de direccionamiento
La forma de especificar los datos que una instrucción debe operar se denomina modo de direccionamiento.
Tipos de modos de direccionamiento:
en el microprocesador 8085 hay 5 tipos de modos de direccionamiento:
- Modo de direccionamiento
inmediato: en el modo de direccionamiento inmediato, el operando de origen siempre son datos. Si los datos son de 8 bits, la instrucción será de 2 bytes, si los datos son de 16 bits, la instrucción será de 3 bytes.Ejemplos:
MVI B 45 (mover el dato 45H inmediatamente al registro B)
LXI H 3050 (cargar el par HL con el operando 3050H inmediatamente)
Dirección JMP (saltar a la dirección del operando inmediatamente) - Modo de
direccionamiento de registros: en el modo de direccionamiento de registros, los datos que se operarán están disponibles dentro de los registros y los registros son operandos. Por lo tanto, la operación se realiza dentro de varios registros del microprocesador.Ejemplos:
MOV A, B (mueve el contenido del registro B al registro A)
ADD B (suma el contenido de los registros A y B y almacena el resultado en el registro A)
INR A (incrementa el contenido del registro A en uno) - Modo de direccionamiento
directo: en el modo de direccionamiento directo, los datos que se operarán están disponibles dentro de una ubicación de memoria y esa ubicación de memoria se especifica directamente como un operando. El operando está directamente disponible en la propia instrucción.Ejemplos:
LDA 2050 (carga el contenido de la ubicación de memoria en el acumulador A)
Dirección LHLD (carga el contenido de la ubicación de memoria de 16 bits en el par de registros HL)
IN 35 (lee los datos del puerto cuya dirección es 35) - Modo de direccionamiento
indirecto de registro: en el modo de direccionamiento indirecto de registro, los datos que se operarán están disponibles dentro de una ubicación de memoria y esa ubicación de memoria se especifica indirectamente mediante un par de registros.Ejemplos:
MOV A, M (mueve el contenido de la ubicación de la memoria apuntada por el par HL al acumulador)
LDAX B (mueve el contenido del registro BC al acumulador)
STAX B (almacena el contenido del acumulador en la memoria apuntada por el par de registros BC) - Modo de direccionamiento
implícito/implícito: en el modo de direccionamiento implícito/implícito, el operando está oculto y los datos que se operarán están disponibles en la instrucción misma.Ejemplos:
CMA (busca y almacena el complemento a 1 del contenido del acumulador A en A)
RRC (rota el acumulador A un bit a la derecha)
RLC (rota el acumulador A un bit a la izquierda)