TODOPIC

Microcontroladores PIC => Almacén del Assembler => Mensaje iniciado por: josesu92 en 21 de Septiembre de 2012, 14:08:43

Título: Duda con el siguiente código en ASM
Publicado 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
Título: Re: URGEENTEEEEEEEEEEEEEEEEEEEEEEE!!!!!!... codigo
Publicado por: Fer_TACA en 21 de Septiembre de 2012, 14:26:05
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.
Título: Re: URGEENTEEEEEEEEEEEEEEEEEEEEEEE!!!!!!... codigo
Publicado por: josesu92 en 21 de Septiembre de 2012, 14:57:50
y qe significa esta parte!!!!....  " MESS:  data  0xb0a4,0xf9c0,0X8888  //   org MESS+VIDEOBSIZE
mess es un arreglo o esta leyendo de la flash :S
Título: Re: Duda con el siguiente código en ASM
Publicado por: Suky en 21 de Septiembre de 2012, 15:13:34
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!
Título: Dudas con directivas del MPASM
Publicado por: Leon Pic en 21 de Septiembre de 2012, 16:43:03
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.