Roland wrote : > So do I simply write; > > d_user ;default code > dw "6781234",0D > > readit > movlw HIGH(d_user) > movwf TBLPTRH ; load high byte of pointer > movlw LOW(d_user) > movwf TBLPTRL ; load low byte of pointer > > tblrd* ; read byte from program memory, > movff TABLAT,gotit ; move byte from table > > > -The above does work, just not sure how correct it is. You are only reading the first byte, right ? > -Is it necessary to ORG each string? Can't be, since ORG isn't even always valid. A normal label should be enough. But your example above did work, didn't you say ? > -If so, must it be on an even boundry? No, the TBLxxx instructions operates on *bytes*, not words. > -I suppose I can just 'clrf TBLPTRU' initially instead of > setting it each time ? If you are working within the lower 64K bytes of program memory, yes, I'd guess so. Jan-Erik. -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist