> OK it don't work cuz PCL gets totally confused. At L#1 -> L#2 we get > w PCL > L#1 03 14 > L#3 33 AA ;WAY outside the ISR!! > > ... > > L#1 addwf PCL,1 ;to send ASCII value to LCD > L#2 dt "0123456789ABCDEF",0 ;use as index,0 > call nib_tx ;Send the ASCII byte in w > to the LCD tx routine First, don't use 1 and 0 to indicate whether the result is going into a file register or W. That's what the W and F constants are for, although you can leave it off and default to F. Your main problem is that you are assuming that DT assembles the table as a bunch of RETLW instructions, but you don't do a CALL to push a return address for the RETLW onto the stack. Also, you didn't say what chip you are on. I'm not sure that DT creates RETLW instructions on chips that have table read. ******************************************************************** Olin Lathrop, embedded systems consultant in Littleton Massachusetts (978) 742-9014, olin@embedinc.com, http://www.embedinc.com -- 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