The bank bits (not PAGE bits) shouldn't matter AFTER you access the EEPRO= M memory. (Just as a note, the page bits (PCLATH) are set when you do your= call and restored on return. Each page of these devices are 0xFF in leng= th. Typically the page bits in PCLATH are manipulated when you modify the program counter PCL, as in the case of a computed goto. Otherwise, you really don't have to worry about PCLATH much.) Of course, whatever you access after you return will have to have the ban= k bits set appropriately. You don't have to reset the selected bank to 0 before you return, you can do it afterwards. This shouldn't have caused = any errors with this routine. Famous last words....that shouldnt cause a problem... I had first done the subroutine as just inline code, then created the subroutine from it. After I read this, I took out the final two clears o= n the status bits...and it stopped working. I have a LCD display routine that follows this to show the memory contents. And it just loops on this and s= o if I take these out....it just dies. Strange...but with it they work so I am going to leave em in ____________________________________________________________________ Get free email and a permanent address at http://www.netaddress.com/?N=3D= 1 -- http://www.piclist.com hint: The PICList is archived three different ways. See http://www.piclist.com/#archives for details.