Bueno aver si alguien me puede ayudar que no veo donde está el error. Quiero que cada cierto tiempo el tmr0 interrumpa i me incremente LATD. Sin embargo el puerto D siempre esta a 0x01.
LIST P=18F4321, F=INHX32
#include <P18F4321.INC>
CONFIG OSC = INTIO2
CONFIG MCLRE = OFF
;variables i constants
ORG 0x000000
goto MAIN
ORG 0x000008
goto HI
HI
bcf INTCON, TMR0IF; netejem el flag de timer 0
INCF LATD
RETFIE FAST
MAIN
call INITOSC
BCF RCON, IPEN; desactivem prioritats d'interrupcio
call INITTIMER0
CLRF TRISD
MOVLW 0X01
MOVWF LATD
BUCLE
NOP
NOP
NOP
NOP
BRA BUCLE
INITOSC
MOVLW 0XEC;1110 1100
movwf OSCCON
RETURN
INITTIMER0
bcf RCON, IPEN
MOVLW 0XA0;1010 0000
MOVWF INTCON
movlw 84h; 1000 0100;
movwf T0CON
movlw 12h
movwf TMR0L
movlw 7Ah
movwf TMR0H
return
END