TODOPIC

Microcontroladores PIC => Almacén del Assembler => Mensaje iniciado por: dioskamisama en 16 de Enero de 2006, 21:57:00

Título: Macros con parametros
Publicado por: dioskamisama en 16 de Enero de 2006, 21:57:00
Hola, queria saber como hacer para pasar parametros como variables a un macro. He intentado infructuosamente, y solo funciona como literales o constantes. Cuando quiero reusar el parametro con movf xxx,w me sale algo asi
Invalid RAM location specifiedY solo puedo usar lo siguiente

EsperarSegundos macro xsegundos
              movlw xsegundos
              movwf datosrutinaXXX

Mientras que por ejemplo para enviar un registro asi
rodolfo=100
EsperarSegundos RODOLFO
Lo que esperaria seria la posicion de memoria de la variable rodolfo y no el 100
En internet figura que se cambia el movlw por movf x,W. Pero me sale ese error en tiempo de compilacion
Título: RE: Macros con parametros
Publicado por: BrunoF en 17 de Enero de 2006, 09:46:00
Hola, si es que te entendi bien, aca te paso la solucion.

EsperarSegundos    macro xsegundos
      movf   xsegundos,w  ;aqui W = .100 (el valor que contiene Rodolfo)
      movwf datosrutinaXXX
                                ...
      endm

      movlw   .100         
      movwf   Rodolfo         ;cargo a la variable rodolfo con el valor .100
      EsperarSegundos Rodolfo
                                ...
Saludos.