Microntroladores
Aunque para organizar un programa escrito en lenguaje ensamblador no hay reglas rígidas, es recomendable seguir un orden como el siguiente:
1. Definir el procesador y sus símbolos mediante las directivas list y #include, este ultimo si se desea utilizar el archivo propio de microchip
2. Si se van a utilizarmacroinstrucciones, escribir la definición de las que se van a emplear en el programa (en este curso no se utilizan)
3. Definir los símbolos con los que se presentaran datos y constantes, mediante las directiva equ
4. Definir el uso de la memoria de datos, es decir, hay que definir los símbolos que se emplean en el programa para representar registros de propósito general de la memoria de datosy sus direcciones.
5. Escribir el cuerpo del programa principal, que en general, comienza para iniciar las variables que requieran de un valor inicial determinado, por ejemplo cero.
6. Escribir las subrutinas si las hay
7. Terminar el programa fuente con la directiva end
Puede observar que la definición de símbolos y sus valores, sean datos o direcciones, precede a lasinstrucciones del programa.
La forma de definir la ubicación de las instrucciones en la memoria de programa y los datos en la memoria de datos, depende de si la codificación del programa fuente será absoluta o relocalizable, para nuestro caso utilizaremos codificación absoluta.
En codificación absoluta, el ensamblador debe tener toda la información necesaria para codificar completamente el programafuente.
Significa que deben definirse todas las direcciones que se utilicen en el programa fuente, es decir, desde un inicio deben quedar definidas las direcciones donde comienzan los bloques de instrucciones del programa, así como las direcciones de los registros de propósito general que se utilicen en el programa.
Directivas
Las directivas son instrucciones dirigidas al programaensamblador, no al microcontrolador que ejecutara el programa objeto resultante del ensamblaje.
En un programa fuente escrito en lenguaje ensamblador, se mezclan las líneas que contienen directivas con las que contienen instrucciones al microcontrolador
Directiva list, processor y radix
La sintaxis de la directiva list (opciones de listado) es:
list [opcion1],[opcion2],[…]: Activa lageneración del archivo de listado (.lst)
|Opción: |Significado |
|p=tipo_procesador |ejemplo p=16f877 |
|r=sistema_numeración |(HEX,DEC,OCT) si no se especifica se presumenumeración hexadecimal |
|(radix=sistema_numeración) | |
|f=formato_hex |si no se especifica se genera en hexadecimal de 8 bits Standard |
Directiva #include
La sintaxis de la directiva #include (incluir un archivo fuente adicional)es:
#include archivo
#include “archivo”
#include
Se usa comúnmente para insertar en el programa fuente el archivo de definición (.inc) que contiene las definiciones de los nombres de los registros de funciones especiales y bits del microcontrolador previamente declarado en las directivas list o processor
Directiva equ
La sintaxis de la directiva equ (definir una constante o dato)es:
Símbolo equ expresión
Directiva org
La sintaxis de la directiva org (opciones de listado) es:
[etiqueta] org expresión
• Se usa cuando se quiere colocar un programa o una porción de programa a partir de una dirección absoluta determinada
• Si la directiva usa una etiqueta, esta recibe el valor de la expresión
Directiva end
La sintaxis de la directiva end...
Regístrate para leer el documento completo.