Directivas Del Ensamblador; Origen (Org); Igual (Equ); Byte De Forma Constante (Fcb) - Motorola HC05 Manual Del Usuario

Iniciación a los microcontroladores de las familias de 8 bits
Tabla de contenido

Publicidad

Directivas del Ensamblador

En esta sección se describen seis de las directivas del ensamblador más importantes. Las directivas que
soportan los ensambladores de varios fabricantes, difieren en el número y en el tipo. Siempre hay que referirse a
la documentación de cada ensamblador que se está usando.

Origen (ORG)

Esta directiva se usa para poner el contador de posición para el ensamblador. El contador de posición
guarda el rastro de la dirección donde el próximo byte de código máquina se guardará en memoria. En el
programa ejemplo , la directiva ORG pone el inicio del programa en $0300. Ensamblará a partir de esa
dirección especificada. Cuando el ensamblador traduce declaraciones del programa a instrucciones y datos de
código máquina, el contador de posición avanza para apuntar a la siguiente posición de memoria disponible.
Cada programa tiene por lo menos una directiva ORG para establecer el punto de inicio en la memoria,
para el programa. La mayoría de los programas completos, también tendrá una segunda directiva ORG cerca del
final del programa para poner la contador de posición en la dirección donde son localizados los vectores de
interrupción y reset ($07F8–$07FF en el MC68HC705J1A). El vector de reset siempre se debe especificar y
también es buena práctica especificar los vectores de interrupción, aun cuando no se esperan usar las
interrupciones.

Igual (EQU)

Esta directiva se usa para asociar un valor binario con una etiqueta. El valor puede ser un valor de 8-bits
o un valor de dirección de 16-bits. Este directiva no genera ningún código objeto.
Durante el proceso de ensamblar, el ensamblador debe guardar una tabla de referencia cruzada, donde
se guardan los valores binarios equivalentes de cada etiqueta. Cuando una etiqueta aparece en el programa
fuente, el ensamblador mira esta tabla de referencia cruzada para encontrar el valor binario equivalente. Cada
directiva EQU genera una entrada en esta tabla de referencia cruzada.
Un ensamblador lee el programa fuente dos veces. En el primer paso, el ensamblador apenas cuenta los
bytes de código objeto e internamente construye la tabla de referencia cruzada. En el segundo paso, el
ensamblador genera el archivo de listado y/o el archivo objeto S-record. Este segundo paso permite al
programador hacer referencia a las etiquetas, en las que se definen más tarde en el programa.
Las directivas EQU deben aparecer cerca del inicio de un programa, antes de que sus etiquetas sean
usadas a través de otras declaraciones del programa. Si el ensamblador encuentra una etiqueta antes de que se
definida, pero no tendrá ninguna elección pero para asumir, en el peor de los casos, de un valor de dirección de
16-bits. Esto provocará el uso del modo de direccionamiento extendido en lugares donde se podría usar el
método más eficaz, el modo de direccionamiento directo. En otros casos, se puede usar el modo de
direccionamiento indexado con un desplazamiento de 16-bits, donde se podría usar una instrucción indexada más
eficaz con un desplazamiento de 8-bits o sin ningún desplazamiento.
En el programa ejemplo, hay dos directivas EQU para definir las etiquetas PORTA y DDRA a sus
direcciones de página directa. Otro uso de las directivas EQU es identificar una posición de bit con una etiqueta:
LED
EQU
%10000000
"
"
"
"
"
"
INIT
LDA
#LED
STA
PORTA
STA
DDRA
El símbolo % indica que el valor que sigue se expresa en binario. Si el LED se mueve a un pin diferente
durante el desarrollo, sólo se tendrá que cambiar la declaración EQU y volver a ensamblar el programa.

Byte de Forma Constante (FCB)

Los argumentos para esta directiva son etiquetas o números, separadas o separados por comas, que
pueden convertirse en simples bytes de datos. Cada byte especificado en una directiva FCB genera un byte de
S10403308147
S9030000FC
Figura 35. Archivo S-record del Programa Ejemplo
;El LED se conecta al bit-7
"
"
;Hay un 1 en el bit de posición LED
;el LED se apagará
;el pin LED es una salida
74

Publicidad

Tabla de contenido
loading

Este manual también es adecuado para:

Hc08

Tabla de contenido