call fetch ; carry on with rest of program fetch movlw UPPER datatable movwf PCLATU ; Place datatable address to UPPER movlw HIGH datatable movwf PCLATH ; Place datatable address to HIGH movf offset, w, 0 ; Add offset to PCL, place result addwf PCL, w, 1 ; in working file, PCL not modified btfsc STATUS, C incf PCLATH, f, 1 btfsc STATUS, C ; Any carries then modify higher PCL incf PCLATU, f, 1 ; registers movf offset, w, 0 addwf PCL, f, 1 ; Modify PCL and jumo to datatable datatable retlw "A" ; return call "fetch" with "A" retlw "B" retlw "C" ; and so on