tarea

Páginas: 36 (8779 palabras) Publicado: 12 de mayo de 2014
Ensamblador para 8085

1

5
Ensamblador para 8085

5.1
.

Introducció
n

Si examinamos el contenido de la memoria de un computador, un programa aparece
como una serie de dígitos hexadecimales indistinguibles unos de otros. El procesador o
CPU interpreta estos dígitos como códigos de instrucción, direcciones o datos.
Sería posible escribir un programa en esta forma, peroresultaría un proceso
lento y costoso. Por ejemplo, el siguiente programa se almacena en la memoria como se
muestra:
repite:

fin:

MOV
CPI
JNZ
MVI
INX
JMP
HLT

A,M
0h
fin
M, FFh
H
repite

0100
0101
0104
0107
0109
010A
010D

7Eh
FEh
C2h
36h
23h
C3h
76h

00h
0Dh 01h
FFh
00h 01h

El byte 7E es interpretado por el procesador como el código de la instrucción
MOV detransferencia de memoria (indicada por HL) al registro A.
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.
Los bytes C2 0D 01 indican una instrucción de salto condicional a la
dirección 010Dh.
Los bytes 36 FF realizan la transferencia de FF a la memoria.
El byte 23 indica que el par de registros HL debeincrementarse como si
fueran un registro de 16 bits.
Los bytes C3 00 01 indican un salto incondicional a la dirección 1000h.
El byte 76 es la instrucción HALT o parada del procesador.

2

Simulador del microprocesador 8085

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
encuanto 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 el
contenido 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 lamemoria.
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ón inicial 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.

repite:

fin:

LXI
MOVCPI
JNZ
MVI
INX
JMP
HLT

H,A000h
A,M
0h
fin
M, FFh
H
repite

0100
0103
0104
0107
010A
010C
010D
0110

21h
7Eh
FEh
C2h
36h
23h
C3h
76h

00h A0h
00h
10h 01h
FFh
03h 01h

En negrita se han marcado los cambios sobre el programa original. Como
vemos, en la memoria la introducción de una nueva instrucción da lugar a efectos
laterales que obligan a modificarotras del programa. El riesgo de cometer un fallo es
mayor.
La ilegibilidad del programa agrava el riego de error si se intentan añadirse más
instrucciones y efectuar más cambios.
Para evitar esta forma engorrosa y tediosa de trabajar, sobre todo en programas
de cierta complejidad, el primer paso está en utilizar el lenguaje ensamblador, que

Ensamblador para 8085

3

proporciona unanotación de las instrucciones completamente legible, y evita al
programador tener que referirse a direcciones de memoria específicas.
El lenguaje ensamblador es, en síntesis, una secuencia de instrucciones que se
convierten a un código hexadecimal ejecutable por la máquina a través de un programa
llamado Ensamblador.

Fichero
Fuente

Programa
Fuente

Ensamblador

Programa
ObjetoFichero
Objeto

El Ensamblador convierte el programa fuente, escrito en lenguaje ensamblador,
en su equivalente en hexadecimal, denominado programa objeto. El programa objeto es
muy similar a la representación en memoria que tendrá el programa.

4

Simulador del microprocesador 8085

5.2
.

Sintaxi
s

En un programa ensamblador se distinguirá los siguientes tipos de elementos:...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Mi tarea Tu tarea
  • tarea tarea
  • Tarea Tarea
  • Tarea
  • Tarea
  • Tarea
  • Tarea
  • Tarea

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS