ENSAMBLADOR
Introduccin
El ensamblador AST6 posee las siguientes caractersticas: Operacin en un solo paso, macros, ensamblaje condicional, inclusin de ficheros fuente, mdulos de objetos relocalizables, un detallado listado de ensamblaje y una lista de smbolos con referencia cruzada. Se ha diseado para ser utilizado en las familias de microcontroladores ST60, ST62 y ST63. Puede ser ejecutado bajo el sistema operativo MSDOS y lee los ficheros de texto escritos con la sintaxis y con los mnemnicos especificados en este captulo. Puede producir los siguientes ficheros de salida: - Un fichero de lista opcional ensamblado ( .LIS ) - Un fichero de error ( .ERR ) - Un fichero opcional con referencias cruzadas ( .X ) - Un fichero opcional con smbolos ( .SYM ) - Un fichero con informacin para el depurador ( .DSD ) - Un fichero con formato INTEL conteniendo el cdigo ejecutable ( .HEX ) - Un fichero conteniendo el cdigo objeto ( .OBJ ) En el ltimo caso no se producen los ficheros ( .SYM, .DSD y .HEX ). El ensamblador se invoca con el siguiente comando: AST6 [ -opciones ] fichero1 Los campos encerrados entre corchetes son opcionales. Si no se introduce ningn campo entre corchetes, el ensamblador toma el fichero1 con la extensin asm y produce como salida un fichero con el mismo nombre y extensin hex, y otro con el mismo nombre y extensin dsd, indicando en el monitor del PC el nmero de errores producidos en el proceso de ensamblado El campo opciones, siempre especificadas delante del nombre del fichero de trabajo y precedidas del signo menos, tiene las siguientes posibilidades:
@ Agustn Borrego Colomer
-L -X -M -S -O -E -D -F -Z
Crea un fichero de lista con el nombre [Link] Crea un fichero de referencias cruzadas con el nombre fichero1.x Aade informacin mapeada al final del fichero [Link] Crea un fichero imprimible ( [Link] ) con la tabla de smbolos Crea un fichero objeto con el nombre [Link] Crea un fichero de error con el nombre [Link] Inserta informacin para la mscara ROM en el fichero [Link], la opcin -O la desactiva. Activa la sealizacin del camino total en los mensajes de error. Cambia el formato de salida de los ficheros [Link] y [Link] para adaptarlos a la familia ST60
El ensamblaje termina con un cdigo, permitiendo identificar como fue el proceso. El significado de cada uno de ellos es el siguiente: 0 1 2 3 4 No hubo errores en el ensamblado Alarma en el proceso de ensamblaje Error en el proceso de ensamblaje Error en la linea de comando Error en el sistema ( por ejemplo error de I/O )
Formato del fichero de entrada al ensamblador ( .ASM ): El fichero de entrada al ensamblador es de tipo texto, y esta formado por una serie de sentencias, cada una de ellas en una linea ( separadas por el carcter ASCII 0A nueva linea - 0D - retorno de carro - ). La sentencia puede contener cualquier carcter imprimible del 20h al 7Fh ms el de tabulacin ( 08h ), los restantes no estn permitidos. Cada sentencia est compuesta de uno a cuatro campos: ETIQUETA OPERACIN OPERANDO COMENTARIO
El primer campo, la etiqueta, debe empezar en la columna nmero uno. Si es el nico campo en la sentencia el nombre de la etiqueta debe ser seguido inmediatamente por el carcter dos puntos ( : ). El campo se puede finalizar con un espacio, una tabulacin, dos puntos y con el carcter de nueva linea. El segundo campo, la operacin, identifica mediante un nombre la accin que debe ejecutar en estos momentos el ensamblador. Puede ser el nombre de una instruccin del microcontrolador, una directiva del ensamblador o una llamada a una macro. Si falta dicho campo, el actual valor del contador de localizacin se le asigna al campo etiqueta. El campo se puede finalizar con un punto y coma, un espacio, una tabulacin y el carcter de nueva linea.
@ Agustn Borrego Colomer
El tercer campo contiene cualquier nmero de operandos ( incluido ninguno ) que pueda necesitar el campo de operacin. Los diferentes operandos se separan con comas. El campo se puede finalizar con un punto y coma o el carcter de nueva linea. El cuarta campo, si est presente, empieza con un punto y coma terminando con el carcter de nueva linea. Sirve para aclarar mediante un comentario la funcin de la sentencia. Puede ser el nico campo de la sentencia y, por lo tanto, estar localizado al principio de la lnea.
Smbolos y expresiones
Identificadores. Un identificador es una cadena formada por uno o ms caracteres ( hasta ocho ), tomados de las siguientes clases: Letras maysculas Letras minsculas Dgitos decimales Signo del dlar Guin inferior (A-Z) (a-z) (0-9) ($) (_)
Excluyendo los smbolos ( m, M, b y B ) que estn reservados. Y con las siguientes restricciones: El primer carcter de un identificador debe ser una letra o el guin inferior, letras maysculas y minsculas son diferentes en un identificador para un smbolo, pero equivalentes cuando se trata de identificadores para instrucciones del microcontrolador o directivas del ensamblador. Nmeros. Un nmero es una cadena de dgitos; el rango por defecto es naturalmente el decimal. Aunque puede ser cambiado aadiendo una letra al final, con el siguiente significado: bB o O dD hH Nmero binario ( Dgitos 0 y 1 ) Nmero Octal ( Dgitos del 0 al 7 ) Nmero Decimal ( Dgitos del 0 al 9 ) Nmero Hexadecimal ( Dgitos del 0 al 9 y letras de la A a la F )
Un nmero hexadecimal, para difenciarlo de un identificador, debe siempre comenzar por un dgito ( del 0 al 9 ). Carcter constante. Se representa por un carcter ASCII encerrado entre comillas simples ( ' ). El valor de dicha constante es el cdigo ASCII de dicho carcter.
@ Agustn Borrego Colomer
Cadenas constantes. Se representa por una secuencia de caracteres encerrados entra comillas dobles ( " ). Si deseamos que las comillas aparezcan en el interior de la cadena deben ir precedidas del carcter \. Localizacin del contador de referencia. El smbolo del dlar ( $ ) es un identificador especial que tiene el valor de la localizacin actual del contador de referencia. Solo puede ser usado en los operandos del Espacio de Programa. Expresiones. Es un conjunto de nmeros e identificadores combinados mediante operadores. No se permite separar los operadores de los operandos. Las expresiones se evalan de izquierda a derecha, utilizando para el valor de cada operando la definicin dada anteriormente para cada uno de ellos. El orden normal de evaluacin se puede cambiar con el uso de parntesis. Los operadores vlidos para el ensamblador son los siguientes: Operador + ~ * / % >> << + & | Funcin sumar 1 negacin ( complemento a 2 ) inversin de bit ( complemento a 1 ) multiplicacin divisin mdulo desplazamiento a la derecha desplazamiento a la izquierda suma resta and a nivel de bits or exclusiva a nivel de bits or inclusiva a nivel de bits Prioridad 1 1 1 2 2 2 2 2 3 3 4 5 6
Las expresiones conteniendo un smbolo del Espacio de Programa solamente estn permitidas para los operandos de instrucciones como jp / call y jrr / jr ( y sus variantes ). Semejantes expresiones tienen la sintaxis restringida a los siguientes casos: expr = smbolo del Espacio de programa expr = smbolo del Espacio de Programa + expresin constante expr = smbolo del Espacio de Programa - expresin constante Conteniendo expresin constante una referencia absoluta.
@ Agustn Borrego Colomer