;;; example use of TABLWT ; ; by Terry Sturtevant ; November 13, 2017 ; ; initialize TBLPTR registers movlw upper stuff ;get upper (partial) byte movwf TBLPTRU,A ;put in TBLPTR upper register movlw high stuff ;get high byte movwf TBLPTRH,A ;put in TBLPTR high register movlw lower stuff ;get lower byte movwf TBLPTRL,A ;put in TBLPTR lower register movlw value ;get value to write movwf TABLAT,A ;transfer byte in WREG to latch tablwt*+ ;write byte from TABLAT into 8 byte buffer and increment pointer bsf EECON1,EEPGD,A ;point to EEPROM program memory bcf EECON1,CFGS,A ;access EEPROM bsf EECON1,WREN,A ;enable write to EEPROM bcf INTCON,GIEH,A ;disable interrupts movlw 0x55 ;required sequence movwf EECON2,A ;required sequence movlw 0xAA ;required sequence movwf EECON2,A ;required sequence bsf EECON1,WR,A ;start write bsf INTCON,GIEH,A ;re-enable interrupts bcf EECON1,WREN,A ;disable writes once done ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; omitted code ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; stuff db 0x00, 0x01, 0x03 end