This is probably another one of my dumb newbie questions, but I have done the necessary grunt work of reading the datasheet and the manual, and still don't quite understand exactly how the assembler and the storage hierarchy work together. (I am using the 18F452 and have no experience with other chips, so the questions are in regard to only that datasheet. MPASM is the assembler. I understand that there are three separate storage areas: program memory, data memory, and a small bit of EEPROM memory. It is my understanding from the datasheet that all of the instructions which move data to or from storage (that is, the instructions which involve "f") strictly operate to or from data memory (RAM). It also appears to me that to pre-allocate storage in assembler language, that one uses the CBLOCK directive, which will allocate storage in data memory, and/or use DA, DATA, DB or DW to pre-allocate storage in program memory. How does one read/write the data allocated in data memory? The only way that I see is to use the table read/write instructions. Is there another way? How does one pre-allocate storage in EEPROM memory. Is this what the DE directive is for? And same question as to how to read/write it. Sorry for not knowing more. Some day I will. :-) Thanks, John -- http://www.piclist.com hint: The PICList is archived three different ways. See http://www.piclist.com/#archives for details.