Programación
Programa ensamblador Programa ensamblador es un software que se encarga de traducir los nemónicos y símbolos alfanuméricos del programa escrito en ensamblador por el usuario a código máquina. Nemónicos que son grupos de caracteres alfanuméricos que simbolizan las ordenes o tareas a realizar con cada instrucción. Los nemónicos empiezan con las iniciales del nombre de la instrucción lo que facilita su memorización.
Ejemplo: Instrucción: “Suma 58 al registro de trabajo y guarda el resultado en el mismo registro” Ensamblador: addw d´58 Máquina: 11 1110 0011 1010 (binario) 3E3A hexadecimal El programa escrito en lenguaje ensamblador recibe el nombre de: código fuente, archivo fuente o fichero fuente. Tiene una extensión *.asm El archivo fuentes debe ser traducido a código máquina El programa ensamblador produce un archivo con extensión *.hex Este archivo hex, es el archivo que debe ser cargado en el PIC.
Código fuente El código fuente está compuesto por una sucesión de lineas de programa. Cada línea de programa suele estar compuesta por 4 campos o columnas: Campo de etiquetas Campo de código de operación Campo de operandos y datos Campo de comentarios
*************************Ensan-02_ASM ********************************** LIST P=PIC18F4550 #include <P18F4550.inc> Zona de datos************************************************************ __CONFIG _CONFIG1H, _FOSC_HS_1H & _FCMEN_OFF_1H & _IESO_OFF_1H ************************************************************************ ORG 0 Inicio CLRF TRISB ;salidas MOVLW B'00001111' movwf CMCON movff CMCON,ADCON1 CLRF PORTB Principal MOVLW B'00000000' MOVWF PORTB movlw b'10000000' goto Principal INCLUDE <RETARDOS.INC> END
Etiquetas La primera columna es el campo de las etiquetas. Son expresiones alfanuméricas escogidas por el usuario Su principal función es identificar a una determinada instrucción del programa, asignando a esa etiqueta el valor de la dirección de memoria correspondiente a dicha instrucción. Asignando etiquetas a direcciones de programas se posibilita que la instrucción pueda saltar o hacer referencia a esas instrucciones sin necesidad de especificar las direcciones físicas donde están ubicadas. Principal ………. ………. goto Principal
Reglas para las etiquetas Deben empezar por letras y luego admiten letras, números y el guión bajo. No se pueden insertar espacios antes de la etiqueta, si no será considerada como instrucción. No se pueden utilizar expresiones reservadas para el ensamblador como: Instrucciones: “goto” Nombres de registros especiales (SFR). Ejemplo: PCL, STATUS Nombres de los bit de los registros especiales (SFR) “C”, “Z”, “DC” etc. Directivas del ensamblador: “END”, “ORG”, “LIST”
Código de Operación El código de operación se coloca en la segunda columna. Especifica la tarea a realizar por el microcontrolador. Es una instrucción del microcontrolador que es directamente traducida a código máquina. Instrucción código máquina Sleep 0000 0000 0110 0011
Operandos La tercera columna es el campo de los operandos o datos. Contiene los operandos para el campo de instrucciones. Este campo puede contener uno o más operandos separados por comas. Dependiendo de la instrucción pueden ser registros, números o etiquetas que representen constantes o direcciones.
*************************Ensan-02_ASM ********************************** LIST P=PIC18F4550 #include <P18F4550.inc> Zona de datos************************************************************ __CONFIG _CONFIG1H, _FOSC_HS_1H & _FCMEN_OFF_1H & _IESO_OFF_1H ************************************************************************ ORG 0 Inicio CLRF TRISB ;salidas MOVLW B'00001111' movwf CMCON movff CMCON,ADCON1 CLRF PORTB Principal MOVLW B'00000000' MOVWF PORTB movlw b'10000000' goto Principal INCLUDE <RETARDOS.INC> END
Comentarios La última columna es el campo de comentarios de los programas. Son elementos que ayudan al programador a documentar su programa, aclarar en sentido de las instrucciones y a facilitar la posibilidad de correcciones. Los comentarios no son tomados en cuenta por el ensamblador, por lo tanto, no se codifican a lenguaje máquina. Los comentarios pueden extenderse por varias líneas y todas ellas deben comenzar por punto y coma (;).
¡Hacer prácticas muchachos!