It's always a good idea to post your code. It's difficult to help otherwise ........
Count uses FSR and RM1. FSR needs to be saved and restored in your ASM blocks. RM1 is a PBP variable and needs to be saved and restored the same way as R0,1,2 and 3.
It's always a good idea to tell wich PIC and compiler you're using.Code:fsave var byte bank0 system rm1 var word bank0 asm display movwf wsave ; display rutine swapf STATUS, W clrf STATUS movwf ssave movf PCLATH, W movwf psave movf FSR,w movwf fsave endasm r0save = R0 r1save = R1 r2save = R2 r3save = R3 rm1save = RM1 'blah blah ...... R0 = r0save R1 = r1save R2 = r2save R3 = r3save RM1 = rm1save asm bcf INTCON, 1 movf fsave,w movwf FSR movf psave, W movwf PCLATH swapf ssave, W movwf STATUS swapf wsave, F swapf wsave, W retfie endasm
/Ingvar




Bookmarks