Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Clase 5
SEUDO CÓDIGOS
Muchos de los seudo códigos en el assembler de los PIC’s son los mismos utilizados en assemblers de varios microprocesadores.
Desde las primeras versiones del compilador creado por Microchip para el sistema operativo DOS, MPASM, se previó el uso de
40 directivas o seudo códigos.
Importante es recordar que una directiva es considerada en tiempo de compilación y no en tiempo de ejecución. Ellas
indican parámetros y definiciones para el compilador al momento de generar un archivo de salida (.hex) a partir de uno fuente
(.asm), pero a diferencia de una instrucción, no alteran el tamaño o cantidad de códigos hexadecimales ejecutables.
ORG. Seguida de una constante hexadecimal se usa para declarar que un bloque o sección de códigos inicia en una dirección
específica de la EPROM o memoria de programa.
EQU. Establece una relación de igualdad entre la cadena de caracteres que le precede y la cantidad que le sigue. Por su uso, cada
vez que el compilador encuentra tal cadena de caracteres, simplemente la traduce por el número hexadecimal asociado.
Ej.
N1 equ b’10011101’ ; Constante expresada en binario.
N2 equ o’247’ ; Constante expresada en octal.
N3 equ d’159’ ; Constante expresada en decimal.
N4 equ h’A2’ ; Constante expresada en hexadecimal.
N5 equ 0x4E ; Constante hexadecimal.
INCLUDE. Con esta directiva se indica al compilador que el archivo anunciado (Include archivo) contiene líneas de código u
otras directivas que deben ser traducidas o consideradas. Junto al ambiente de desarrollo integrado MPLAB, ofrecido libremente
por Microchip, se adjunta gran cantidad de archivos donde se declaran los valores hexadecimales correspondientes a los nombres
de los registros y bits de cada microcontrolador. Con esta directiva suele invocarse el nombre de estos archivos al principio de
cada programa, de manera que pueda hacerse referencia a los bits y registros por los nombres con los que son conocidos.
DW. Define Word. Permite escribir el código deseado en la localidad de memoria seleccionada. Esta directiva tiene mayor uso
para la memoria EEPROM, al momento de declarar datos (al igual que su equivalente en bytes, DB), más puede usarse para
definir códigos en la memoria de programa.
Ej.
ORG 0x0
GOTO Inicio
ORG 0x5
nota dw 0x37FA, b'10010101001100'
ORG 0x08
Inicio nop
END
Este breve listado se “graba” en la memoria FLASH (Program memory) según se observa en la figura adjunta.
Wilmer Sanz F. 1
Apuntes de Microprocesadores. Clase 5
BANKSEL. Manipula los bits RP1, RP0 para acceder al banco de la RAM correspondiente al Registro indicado.
Ej.:
MOVLW 0xF0
BANKSEL TRISC; Asigna la combinación 01 a los bits RP1,RP0, para poder escribir en el Registro TRISC
MOVWF TRISC
MOVLW 0x00
BANKSEL ANSEL; Asigna la combinación 11 a los bits RP1,RP0, para poder escribir en el Registro ANSEL
MOVWF ANSEL
END. Fin de los códigos. Es una indicación al compilador para que no continúe con la generación de códigos hexadecimales más
allá de este punto en el programa fuente.
Actividades sugeridas
- Indique mediante comentarios, que hace cada línea del siguiente código,
- Explique brevemente que hace el programa completo
- Dibuje, como en el ejemplo de la directiva ORG, los “mapas” de la memoria de código y de la memoria de datos.
#include p16f877.inc
ORG 0x0
GOTO Inicio
ORG 0x10
Inicio
BSF STATUS,RP0
MOVLW b'11100000'
MOVWF TRISA
MOVLW 0x00
MOVWF TRISB
BANKSEL PORTA
BCF INTCON,GIE ;Inhabilitación de las Interrupciones
Bibliografía
- Microchip Technology Inc. (2007). Data Sheet del PIC16F8XX. Documento 41291D,
http://ww1.microchip.com/downloads/en/DeviceDoc/41291D.pdf [En línea] Último acceso: 29-09-2017
Wilmer Sanz F. 2