TODOPIC
Microcontroladores PIC => Almacén del Assembler => Mensaje iniciado por: josesu92 en 21 de Septiembre de 2012, 14:08:43
-
pues bien estoy inicializando en la programacion pic en asm.... el problema radica es que mi rpofesor de esta materia es muy malo... y necesito arreglar un codigo; ya e entendido gran parte de este pero hay unos q no tengo ni la menor idea miren es esto!!!!!
MOVLF24 MACRO MESS TBLPTRU TBLPTRH TBLPTRL
MOVLW MESS >>.16
MOVWF TBLPTRU
MOVLW MESS >>.8
MOVWF TBLPTRH
MOVLW MESS &0XFF
MOVWF TBLPTRL
ENDM
MESS: data 0xb0a4,0xf9c0,0X8888
org MESS+VIDEOBSIZE
LOADMESSAGE: ;CARGA VIDEO BUF CON MENSAJE LITERAL GUARDADO EN FLASH
MOVLF24 MESS TBLPTRU TBLPTRH TBLPTRL ;MACRO
MOVLF16 VIDE0 FSRH FSRL ;MACRO
mi pregunta q es esa libreria macro y tambien la parte de " MESS: data 0xb0a4,0xf9c0,0X8888 // org MESS+VIDEOBSIZE
aclaro que este es un trozo del codigo
-
En primer lugar debes de leer las reglas del foro respecto a los titulos.
macro: es una parte de codigo que lse va a repetir varias veces y para ahorrar luego se ha de llamar con un nombre sin tener que escribir de nuevo las mismas instrucciones.
-
y qe significa esta parte!!!!.... " MESS: data 0xb0a4,0xf9c0,0X8888 // org MESS+VIDEOBSIZE
mess es un arreglo o esta leyendo de la flash :S
-
Colocar ese titulo no tiene sentido, por favor se más coherente ;-)
MESS es una etiqueta, donde allí se guarda en flash la data que se indica. Luego el otro ORG posiciona el código con la dirección MESS+VIDEOBSIZE. O sea, entre MESS y LOADMESSAGE hay una distancia de VIDEOBSIZE direcciones.
Esto lo podes ver debuggeando con MPLAB SIM por ejemplo, podes ver Disassembly Listing
Saludos!
-
En primer lugar debes de leer las reglas del foro respecto a los titulos.
macro: es una parte de codigo que lse va a repetir varias veces y para ahorrar luego se ha de llamar con un nombre sin tener que escribir de nuevo las mismas instrucciones.
Aclaro algo, las macros NO ahorran memoria. De echo su uso debe ser muy cuidadoso porque te puede llenar la memoria del PIC muy rápido.
La ventaja de las macros, es no tener que tipear la misma rutina una y otra vez. Una macro NO funciona como una rutina y/o subrutina.