ESTRUCTURA DEL PROGRAMA
Directiva LIST Este comando sirve para que el compilador tenga en
cuenta sobre qué procesador se está trabajando.
Este comando debe estar en todo proyecto, con la siguiente
sintaxis. LIST P=PIC16F84A
Directiva EQU El nombre viene de la palabra "equal", (igual)". La
directiva EQU permite al programador "igualar" nombres
personalizados a datos o direcciones. Los nombres utilizados se
refieren generalmente a direcciones de dispositivos, datos
numéricos, direcciones de comienzo, direcciones fijas,
posiciones de bits, etc. Un nombre es más descriptivo que
una simple dirección y la tarea de programar se
hará mucho más sencilla. También podemos
asignar un nombre a una instrucción que repitamos varias
veces a lo largo de un algoritmo, de manera que sea mucho
más sencilla la programación. A estos nombre que
asignamos mediante esta directiva se les denomina constantes, ya
que el registro al que apuntan no variará durante el
programa.
No siempre es necesario que con esta directiva se igualen
posiciones de memoria a las etiquetas, ya que podemos poner
nombres a datos. Podemos definir una equivalencia con el nombre
de otra equivalencia ya definida y rtealizar operaciones
matemáticas. Por ejemplo, podemos calcular la frecuencia
del ciclo máquina a partir de la frecuencia de reloj con
la finalidad de emplearla para hacer otros cálculos de la
manera que se describe a continuación: PORT_B EQU PORT_A+1
PORT_C EQU PORT_A+2 FIN EQU START+100 FIN2 EQU START+200
clockrate EQU .4000000 ;frecuencia del cristal fclk EQU
clockrate/4 ;frecuencia del reloj interno
Directiva ORG Esta directiva dice al ensamblador a partir de que
posición de memoria de programa se situarán las
siguientes instrucciones. Rutinas de comienzo, subrutinas de
interrupción y otros programas deben comenzar en
locaciones de memoria fijados por la estructura del
microcontrolador. Recordemos que el 16F84 sólo tiene 1024
posiciones de memoria flash para código.
La directiva ORG hace al compilador
colocar el código que le sigue en una nueva
dirección de memoria (la salida del compilador no solo
coloca los códigos de operación sino también
las direcciones de cada instrucción del programa).
Usualmente se la utiliza para: reset, programas de servicios de
interrupción, programa principal, subrutinas.