Eres muy amable, muchas gracias, ya quedó funcionando al 100 %. Al final quedó así:
LIST P=16F84A, ; usar PIC 16F84A
#include <p16f84A.inc>
__CONFIG _CP_OFF&_PWRTE_ON&_WDT_OFF&_XT_OSC ; code protec off
; power up timer on
; watchdog off
; osc XT
cblock 0C
PDel0
PDel1
endc
ORG 0
BSF STATUS,5 ; activa la pagina 1
MOVLW B'00000' ; carga 00000 en W
MOVWF TRISA ; puerto a todos salidas
MOVLW B'00000000' ; carga 00000000 en W
MOVWF TRISB ; puerto b todos salidaS
BCF STATUS,5 ; volvemos a la pagina 0
MOVLW B'00000000' ; ponemos a cero el
MOVWF PORTB ; el puerto b
; usando esta opcion se ahorran
; 6 bytes
INICIO ; etiqueta
BSF PORTB,0 ; pone a 1 RB0
CALL DEMORA10MIN ; llama a demora de 0,5 seg
BCF PORTB,0 ; pone a 0 RB0
CALL DEMORA3MIN ; llama a demora de 0,5 seg
GOTO INICIO ; va a inicio
DEMORA10MIN
cblock
d1
d2
d3
d4
endc
;599999992 cycles
movlw 0xA9
movwf d1
movlw 0x41
movwf d2
movlw 0xFA
movwf d3
movlw 0x04
movwf d4
Delay_0
decfsz d1, f
goto $+2
decfsz d2, f
goto $+2
decfsz d3, f
goto $+2
decfsz d4, f
goto Delay_0
;8 cycles
goto $+1
goto $+1
goto $+1
goto $+1
return
DEMORA3MIN
; Delay = 180 seconds
; Clock frequency = 4 MHz
; Actual delay = 180 seconds = 180000000 cycles
; Error = 0 %
cblock
d5
d6
d7
d8
endc
;179999998 cycles
movlw 0xFF
movwf d5
movlw 0x2D
movwf d6
movlw 0x32
movwf d7
movlw 0x02
movwf d8
Delay_1
decfsz d5, f
goto $+2
decfsz d6, f
goto $+2
decfsz d7, f
goto $+2
decfsz d8, f
goto Delay_1
;2 cycles
goto $+1
return
; 2+2 Fin.
;---------------------------------------
END ; fin de programa