1 de 12
http://proton.ucting.udg.mx/dpto/maestros/mateos/novedades/ensamblad...
ENSAMBLADOR
MC. Juan Gilberto Mateos Surez
1. INTRODUCCIN
Los ensambladores son programas que procesan los enunciados del programa origen en lenguaje
ensamblador y los traducen en archivos en lenguaje mquina que son ejecutados por un microprocesador o un
microcontrolador.
Los ensambladores permiten que los programas origen se escriban y se editen en una computadora para
generar un cdigo ejecutable en otra computadora. El archivo en lenguaje objeto ejecutable resultante se
carga y se ejecuta en el sistema destino.
2. LENGUAJE ENSAMBLADOR
El lenguaje simblico que se utiliza para codificar los programas origen que se procesan por el ensamblador
es llamado lenguaje ensamblador.
Este lenguaje es una coleccin de smbolos mnemnicos que representan: operaciones (mnemnicos de
instrucciones para la mquina o de directrices para el ensamblador), nombres simblicos, operadores y
smbolos especiales.
El lenguaje ensamblador proporciona cdigos de operacin de los mnemnicos para todas las instrucciones
de la mquina contenidas en la lista de instrucciones.
Adems, el lenguaje ensamblador contiene mnemnicos directrices, los cuales especifican acciones auxiliares
que se llevan a cabo por el ensamblador.
Estas directrices no siempre son traducidas a lenguaje maquina.
Un programador escribe el programa origen en lenguaje ensamblador utilizando cualquier editor de textos o
procesador de palabras que sea capaz de producir una salida de texto en ASCII.
Una vez que el cdigo origen ha sido escrito, el archivo origen es ensamblado mediante su procesamiento a
travs de algn ensamblador.
3. PROCESAMIENTO DE ENSAMBLADO
Este ensamblador es de dos pasadas.
Durante la primer pasada, el programa origen se lee para desarrollar la tabla de smbolos.
Durante la segunda pasada el archivo objeto se crea (ensamblado) con referencia a la tabla desarrollada en la
primer pasada.
24/06/2015 5:26 p. m.
ENSAMBLADOR
2 de 12
http://proton.ucting.udg.mx/dpto/maestros/mateos/novedades/ensamblad...
Cada enunciado origen puede contener hasta cuatro campos: una etiqueta o " * " para una lnea de
comentario, una operacin (ya sea el mnemnico de una instruccin o una directriz para el ensamblador), un
operando y un comentario.
El campo de etiquetas aparece como el primer campo dentro de un enunciado origen. El campo de etiquetas
puede adoptar cualquiera de las siguientes formas:
1. Un asterisco ( * ) como el primer carcter en el campo de etiquetas indica que el resto del enunciado
24/06/2015 5:26 p. m.
ENSAMBLADOR
3 de 12
http://proton.ucting.udg.mx/dpto/maestros/mateos/novedades/ensamblad...
origen es un comentario. Los comentarios son ignorados por el ensamblador e impresos en el listado
origen solamente como informacin de programacin.
2. Un espacio de carcter en blanco (TAB o espacio) como primer carcter indica que el campo de
etiquetas se encuentra vaco. La lnea no tiene una etiqueta y no es un comentario.
3. Un smbolo como primer carcter indica que la lnea tiene etiqueta. Estos smbolos son las letras
maysculas y minsculas ( a - z ), los dgitos ( 0 - 9 ) y caracteres especiales como punto ( . ), signo de
pesos ( $ ) y subrayado ( _ ). Estos smbolos consisten de uno a quince caracteres, el primero de los
cuales debe ser alfabtico o un carcter especial punto o subrayado. Todos los caracteres son
significantes y las maysculas y minsculas son distintas.
Un smbolo puede aparecer solamente una vez en el campo de etiquetas.
Si un smbolo aparece ms de una vez en el campo de etiquetas, toda referencia a dicho smbolo ser marcada
como error.
Con la excepcin de algunas directrices a la etiqueta se le asigna el valor del contador de programa ( PC ) del
primer byte de la instruccin o dato que se est ensamblando.
El valor asignado a la etiqueta es absoluto.
De manera opcional, las etiquetas pueden ser terminadas con el smbolo de dos puntos ( : ).
Si dicho smbolo es utilizado, no formar parte de la etiqueta, simplemente servir como separacin entre la
etiqueta y el resto del enunciado origen.
De esta forma, los siguientes fragmentos son equivalentes:
salta: deca salta deca
Una etiqueta puede aparecer por si sola en una lnea. El ensamblador interpreta esto como "establece el valor
de la etiqueta igual al valor actual del contador de programa ( PC )".
24/06/2015 5:26 p. m.
ENSAMBLADOR
4 de 12
http://proton.ucting.udg.mx/dpto/maestros/mateos/novedades/ensamblad...
I. Cdigo de Operacin.
Estos smbolos corresponden directamente a instrucciones de mquina.
El cdigo de operacin incluye a cualquier nombre e registro asociado con la instruccin.
Estos nombres de registros no deben de estar separados del cdigo de operacin por ningn espacio en
blanco.
De esta forma, " clra " significa " limpia (poner en ceros) el acumulador ( A ) ", pero " lr a " significa " limpia
la localidad de memoria identificada por la etiqueta a ".
II. Directriz.
Estos son cdigos de operacin especiales conocidos por el ensamblador, los cuales ms bien controlan el
proceso de ensamblado en vez de ser traducidos a instrucciones mquina.
Modo de Direccionamiento
sin operando
Acumulador e Inherente
24/06/2015 5:26 p. m.
ENSAMBLADOR
5 de 12
http://proton.ucting.udg.mx/dpto/maestros/mateos/novedades/ensamblad...
< expresin
Directo, Extendido o
Relativo
# < expresin
Inmediato
< expresin , X
< expresin , Y
En este caso, los operandos de las instrucciones de manipulacin de bits estn separados por espacios ya que
el HC11 permite las instrucciones de manipulacin de bits en direcciones indexadas.
Debido a esto, X o Y pueden ser agregados a la primer expresin en los ltimos dos formatos arriba
mostrados para formar el clculo de la direccin indexada efectiva.
2.3.2 Expresiones
Una expresin es una combinacin de smbolos constantes, operadores algebraicos y parntesis. La expresin
especifica un valor, el cual ser utilizado como operando.
Las expresiones pueden consistir de smbolos, constantes o del caracter * (denotando el valor actual del
contador de programa PC) unidos entre s por alguno de los operadores: +, -, *, /, %, &, I, ^.
2.3.3 Operadores
24/06/2015 5:26 p. m.
ENSAMBLADOR
6 de 12
http://proton.ucting.udg.mx/dpto/maestros/mateos/novedades/ensamblad...
2.3.4 Smbolos
Cada smbolo se encuentra asociado con un valor entero de 16 bits, el cual es utilizado en lugar del smbolo
durante la evaluacin de la expresin.
El asterisco (*) utilizado en una expresin como smbolo representa el valor actual del contador de
localidades (el primer byte de una instruccin de varios bytes ).
2.3.5 Constantes
Las constantes representan cantidades de informacin que no varan en su valor durante la ejecucin del
programa.
Las constantes pueden ser presentadas al ensamblador en uno de cinco posibles formatos: decimal,
hexadecimal, binario, octal o ASCII.
El programador le indica al ensamblador el formato del nmero con los siguientes prefijos:
$ Hexadecimal
% Binario
@ Octal
ASCII
Las constantes sin prefijo son interpretadas como decimal.
El ensamblador convierte todas las constantes a cdigo mquina binario y son desplegadas en el listado del
ensamblado como valores hexadecimales.
24/06/2015 5:26 p. m.
ENSAMBLADOR
7 de 12
http://proton.ucting.udg.mx/dpto/maestros/mateos/novedades/ensamblad...
24/06/2015 5:26 p. m.
ENSAMBLADOR
8 de 12
http://proton.ucting.udg.mx/dpto/maestros/mateos/novedades/ensamblad...
3. MENSAJES DE ERROR
Los mensajes de diagnstico de error son colocados en el archivo de listado justo antes de la lnea que
contenga el error. El formato de la lnea de error es:
Lnea_nmero: Descripcin del error o
Lnea_nmero: Peligro - - - Descripcin del error
Los errores en la primer pasada ocasionan la cancelacin de la segunda pasada.
Un mensaje de error del tipo peligro no ocasiona la cancelacin de la segunda pasada, pero indica un
posible problema.
Los mensajes de error estn diseados para ser explicados por s mismos.
24/06/2015 5:26 p. m.
ENSAMBLADOR
9 de 12
http://proton.ucting.udg.mx/dpto/maestros/mateos/novedades/ensamblad...
()
XYZ
<
Todos los elementos fuera de estos smbolos debern de ser especificados tal como se indica.
24/06/2015 5:26 p. m.
ENSAMBLADOR
10 de 12
http://proton.ucting.udg.mx/dpto/maestros/mateos/novedades/ensamblad...
24/06/2015 5:26 p. m.
ENSAMBLADOR
11 de 12
http://proton.ucting.udg.mx/dpto/maestros/mateos/novedades/ensamblad...
APNDICE
SMBOLO DIRECCIN
El SMBOLO es tomado directamente del campo de etiquetas del programa fuente u origen. DIRECCIN es
la direccin hexadecimal de la localidad a la cual se hace referencia con el smbolo.
La tabla de aparicin de smbolos ser impresa cuando la opcin cre sea seleccionada. La tabla de
aparicin de smbolos tiene el siguiente formato:
24/06/2015 5:26 p. m.
ENSAMBLADOR
12 de 12
http://proton.ucting.udg.mx/dpto/maestros/mateos/novedades/ensamblad...
24/06/2015 5:26 p. m.