Multiplicacion 8085

Páginas: 34 (8303 palabras) Publicado: 20 de abril de 2013

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, pero resultaría un procesolento y costoso. Por ejemplo, el siguiente programa se almacena en la memoria como se muestra:

repite: MOV A,M
CPI 0h
JNZ fin
MVI M, FFh
INX H
JMP repite
fin: HLT
0100
0101
0104
0107
0109
010A
010D
7Eh
FEh 00h
C2h 0Dh 01h
36h FFh
23h
C3h 00h 01h
76h

El byte 7E es interpretado por el procesador como el código de la instrucción MOV de transferencia dememoria (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 debe incrementarse como sifueran 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.


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 programaanterior 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 la memoria.

Sin embargo, existe un problemaañ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.

LXI H,A000h
repite: MOV A,M
CPI 0h
JNZ fin
MVI M, FFh
INX H
JMPrepite
fin: HLT
0100
0103
0104
0107
010A
010C
010D
0110
21h 00h A0h
7Eh
FEh 00h
C2h 10h 01h
36h FFh
23h
C3h 03h 01h
76h

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 modificar otras 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 proporciona una notación de las instrucciones completamente legible, y evita al programador tener que referirse adirecciones 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.



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




























5.2.





Sintaxis

En un programa ensamblador se distinguirá los siguientes tipos de elementos: Directivas, Instrucciones de ensamblaje e Instrucciones de la maquina.

DIRECTIVAS:

Las Directivas ofrecen información al ensamblador sobre el tipo de elementos que se...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Equip Entrenador 8085
  • 8085
  • La Multiplicacion
  • La Multiplicacion
  • multiplicación
  • Multiplicacion
  • multiplicacion
  • Multiplicacion

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS