Exacto, por eso se utiliza con codigo corto, se suele utmodo de recordatorio, por ejemplo si tienes un LED al PORTA,1 para no confundirte de pin y tal te declaras:
Codigo:
LEDON MACRO
BSF PORTA,1
ENDM
LEDOFF MACRO
BCF PORTA,1
ENDM
Y luego en el codigo pones LEDON o LEDOFF y listo, para codigo más grande no te lo recomiendo y mejor que uses funciones.
Codigo:
LEDON: BSF PORTA,1
RETURN
Y en codigo haces CALL LEDON
gracias muchachos.
Esto es lo que hice:
La rutina de pérdida de tiempo la configuro mediante un registro que llamo TiempoX que sería el factor multiplicador de la perdida de tiempo, entonces cada vez que quiero llamar a esta rutina tengo que escribir
Codigo:
movlw 100d
movwf TiempoX
call PerderTiempo ; rutina de retardo
en este caso TiempoX vale 100 y la rutina pierde 10 milisegundos entonces, 100x10ms = 1 segundo
Sería estupido hacer que reescriba toda la subrutina cada vez que la llamo con una macro entonces, la solución era poner esas 3 lineas en la macro, que quedó así
Codigo:
dormir macro tiempoX10ms
movlw tiempoX10ms
movwf TiempoX
call PerderTiempo ; rutina de retardo
endm
entonces para perder tiempo pongo
dormir 100d
y ya ta.
chau gracias.