I'm a beginner, trying to use an 18F452 as a controller. I have a problem, although it may be my ignorance that prevents me seeing the solution. I read around, but can't find how to do it. I am using MPASM 7.2 I want to define a number of what I call "canned" messages in flash memory, thus: message1 dw "String1",0 message2 dw "String2",0 message3 dw "String3",0 etc. (I use NULL as string terminator, and ensure even number of bytes in each message.) I want to be able to load TBLPTR with the label address of (say) message2, and then use the 18F452 TBLRD + instruction to step through and read the message bytes, until I reach NULL, while transmitting them on RS232. What I don't understand is how I get the addresses of message1, message2 etc. in order to load them into TBLPTR. I need the equivalent of 'C' '&' deferencing. Is there such a thing, please? I don't want to have to ORG every message - I want the compiler to take care of its location. Regards, Phil. -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist