Sei sulla pagina 1di 7

DIRECTIVAS DEL ENSAMBLADOR MPASM 1.

- Directivas para carga o reserva en la Memoria de Programa DATA Inicializa una o ms palabras de la memoria de programa con datos o tiras de caracteres DATA 0x012, 0x1345 DATA Prueba 1,2,3 DA Almacena en paquetes de 14 bits dos caracteres ASCII representados con 7 bits DA abcdef DB Reserva e inicializa bytes en la memoria de programa DB T, 0xF0, S DW Reserva e inicializa palabras en la memoria de programa DW 0x39, 0x45B DT Genera una serie de instrucciones RETLW, una por cada expresin que acompaa a la directiva DT DE 1, 2, 3, 5, 7

Reserva y carga posiciones de la memoria de programa con bytes, en principio estaba pensada para rellenar la EEPROM de datos (empieza en la 0x2100), pero se puede emplear para cualquier posicin de memoria de programa ORG 0x2100 DE Programa version 1.0

FILL

Rellena un nmero de posiciones de memoria de programa con un mismo contenido (dato o instruccin si va entre parntesis) FILL 0x190F, 5

Resumen de Directivas del Ensamblador MPASM ATE-Uniovi

1/7

RES

Reserva un determinado nmero de posiciones de la memoria de programa (avanza el puntero de cuenta de posicin en la memoria de programa) RES 64

_ _CONFIG Carga la palabra de configuracin del microcontrolador, previamente se debe haber declarado el microcontrolador _ _CONFIG 0x3F43 _ _IDLOCS Se emplea para cargar las 4 posiciones de identificacin del microcontrolador. Se debe haber declarado previamente el microcontrolador _ _IDLOCS 1234

Resumen de Directivas del Ensamblador MPASM ATE-Uniovi

2/7

2.- Directivas de Control CBLOCK ENDC Se emplean para declarar inicio y final de un bloque de constantes. Se asignan valores correlativos CBLOCK ENDC CONSTANT Las dos se emplean para asignar expresiones a smbolos EQU esos smbolos no pueden luego cambiar de valor (son constantes). Sintaxis distinta, pero igual efecto CONSTANT EQU longitud=0x10 0x10 0x20 A, B, C, D

;A = 0x20, B=0x21, C=0x22, D=0x23

longitud

VARIABLE Las dos se emplean para asignar expresiones a smbolos SET esos smbolos pueden cambiar de valor (son variables). Sintaxis distinta, pero igual efecto VARIABLE SET BUFFER=0x20 0x20

BUFFER #DEFINE

Se emplea para definir una etiqueta para una tira de caracteres siempre que aparezca la etiqueta, se sustituye directamente por la tira #DEFINE bit_0 STATUS,RP0

#UNDEFINE Anula una asignacin previa realizada con #DEFINE #UNDEFINE ORG bit_0

Sita el cdigo que se vaya generando despus a partir de la posicin especificada ORG 0x100

END

Final de cdigo fuente END

Resumen de Directivas del Ensamblador MPASM ATE-Uniovi

3/7

INCLUDE

Se incluye el fichero especificado, se inserta en la posicin y ser ensamblado INCLUDE INCLUDE c:\mplab\PIC16F877.INC <PIC16F877.INC>

RADIX

Se especifica el RADIX que se est usando RADIX dec ;pueden ser hex oct

PROCESSOR Define el tipo de microcontrolador PROCESSOR 16F877 Para controlar la generacin del fichero de listado (.LST): TITLE Ttulo en la cabecera de las pginas

SUBTITLE Subttulo (segunda lnea) en cabecera SPACE PAGE LIST NOLIST MESSG ERROR Inserta lneas en blanco Inserta salto de pgina Habilita listado y opciones del mismo Deshabilita generacin en fichero .LST Saca mensajes en el fichero .LST Tambin para sacar mensajes en .LST

ERRORLEVEL Especifica tipos de mensajes que aparecern en fichero.LST ERRORLEVEL 0 ;Errores, warnings y mensajes ERRORLEVEL 1 ;Warnings y errores ERRORLEVEL 2 ;Errores

Resumen de Directivas del Ensamblador MPASM ATE-Uniovi

4/7

3.- Directivas de Ensamblado condicional IF expresin Grupo de directivas e instrucciones que se ensamblan si es cierta la expresin ENDIF p.e. IF versin==1 MOVLW 0x0A MOVWF PORTB ENDIF

IF

expresin Grupo 1 de Directivas e Instrucciones

Si la expresin es cierta Se ensambla este grupo

ELSE Grupo 2 de Directivas e Instrucciones ENDIF IFDEF etiqueta

y si es falsa, este otro

Puede sustituir en las dos directivas anteriores IF expresin Se ensambla si est definida la etiqueta #DEFINE DE_B_a_A . p.e. 1

IFDEF DE_B_a_A MOVF PORTB,w MOVWF PORTA ELSE MOVF PORTA,W MOVWF PORTB ENDIF

Resumen de Directivas del Ensamblador MPASM ATE-Uniovi

5/7

IFNDEF etiqueta Puede sustituir en las dos directivas anteriores IF expresin Se ensambla si no est definida la etiqueta

WHILE expresin Grupo de instrucciones y directivas que se ensamblan mientras la expresin sea cierta ENDW p.e. VARIABLE i i=0 WHILE i < CONTADOR RETLW i i+=1 ENDW

Resumen de Directivas del Ensamblador MPASM ATE-Uniovi

6/7

4.- Macros Una macro es un conjunto de instrucciones que pueden ser insertadas en el cdigo fuente mediante una simple llamada a macro. Una macro debe ser definida primero antes de poder ser llamada en el cdigo fuente siguiente. Una macro puede llamar a otra macro o a s misma de manera recursiva Definicin de una macro: Etiqueta MACRO argumento1, arguento2, argumento3,

Conjunto de Instrucciones EXITM (salida intermedia opcional) Ms instrucciones ENDM Utilizacin de una macro (llamada): Etiqueta_de_Macro p.e. Definiciones: Banco_0 MACRO bcf bcf ENDM MACRO bsf bcf ENDM arg1, arg2, arg3

STATUS,RP0 STATUS,RP1

Banco_1

STATUS,RP0 STATUS,RP1

Utilizacin: movlw 0xF0 Banco_1 movwf TRISB Banco_0

Resumen de Directivas del Ensamblador MPASM ATE-Uniovi

7/7

Potrebbero piacerti anche