Microprocesador 8085
|Ensamblador para 8085 | |
|5.1. | | |
||
|[pic] El byte 7E es interpretado por el procesador como el código de la instrucción MOV de transferencia de memoria |
|(indicada por HL) al registro A. |
||
|[pic] Los bytes FE 00 se corresponden con el código de la instrucción de comparación CPI, del acumulador con el dato |
|inmediato 00h. |
||
|[pic] Los bytes C2 0D 01 indican una instrucción de salto condicional a la dirección 010Dh. |
| |
|[pic] Los bytes 36 FF realizan la transferencia de FF a lamemoria. |
| |
|[pic] El byte 23 indica que el par de registros HL debe incrementarse como si fueran un registro de 16 bits. |
||
|[pic] Los bytes C3 00 01 indican un salto incondicional a la dirección 1000h. |
| |
|[pic] El byte 76 es la instrucción HALT o parada del procesador.|
El texto de izquierda es un programa escrito en ensamblador, mientras que el de la derecha es un volcado directo de la memoria. Las diferencias entre ambos son obvias en cuanto a términos de legibilidad.
El programa anterior realiza una tarea muy sencilla. Utilizando el par de registros HL como dirección de memoria carga el contenido en el acumulador. Si elcontenido es diferente de 00 termina, si no, cambia el contenido por FFh y continua por la siguiente dirección. Incluso en un programa tan simple vemos lo costoso que puede ser trabajar directamente sobre la memoria.
Sin embargo, existe un problema añadido. Supongamos que deseamos introducir una instrucción más al programa propuesto. Por ejemplo, supongamos que quiere especificar una direccióninicial de memoria en HL. Esto se puede hacer con la secuencia de dígitos hexadecimales: 21 LL HH, donde LL representa la parte baja de la dirección de memoria y HH la alta.
| LXI H,A000h | 0100 |21h 00h A0h |
|repite: MOV A,M |0103 |7Eh|
|CPI 0h |0104 |FEh 00h |
|JNZ fin |0107 |C2h 10h 01h |
|MVI M, FFh |010A |36h FFh |
|INX H...
Regístrate para leer el documento completo.