Hi Joe, I think these guidelines will get you on track: 1) If your 'FlashWrite' function precondition for TBLPTR is that the lower 3 bits must be zeros upon function entry, then use the post-increment TBLWT instruction when loading the holding registers: TBLWT*+ IMPORTANT NOTE: This method requires a dummy read (TBLRD*-) *BEFORE* you execute the flash write (as we have previously discussed in detail in this thread). 2) If your 'FlashWrite' function precondition for TBLPTR is that the lower 3 bits must be ones upon function entry, then use the pre-increment TBLWT instruction when loading the holding registers: TBLWT+* IMPORTANT NOTE: This method DOES NOT require a dummy read (TBLRD*-) *BEFORE* you execute the flash write. Let me know if this clears things up for you or not. Best regards, Ken Pergola -- http://www.piclist.com hint: The list server can filter out subtopics (like ads or off topics) for you. See http://www.piclist.com/#topics