Thanks for the quick response... ;^) OK, this makes sense.... When I use the MPASM assembler, how do I declare/allocate RAM storage ??? If I want to use three single byte variables, is this the right way to do it ? ORG 0000 Temp1 DB ; first storage location Temp2 DB ; second storage location Temp3 DB ; third storage location Bob Segrest At 01:58 PM 2/9/97 +1000, you wrote: >Thus spake Bob Segrest (bobslan@EROLS.COM): > >> How do you differentiate between the location of a variable (temporary >> read/write storage) program memory (executable code) ??? > >RAM and ROM are in separate address spaces - on the 12 and 14 bit PICs >there is no way to read code address space. In the memory map the >address for code and data overlap - they both start from zero. the >16 bit PICs (17Cxx) have instructions to read from program memory, >but you can only do so with these special instructions. This is a >typical Harvard architecture, same as the 8051, as opposed to a Von >Neumann architecture, where code and data are in the same address space, >like a Z80 or 68xx. > >-- >Clyde Smith-Stubbs | HI-TECH Software, | Voice: +61 7 3354 2411 >clyde@htsoft.com | P.O. Box 103, Alderley, | Fax: +61 7 3354 2422 >http://www.htsoft.com | QLD, 4051, AUSTRALIA. | >--------------------------------------------------------------------------- >Download a FREE beta version of our new ANSI C compiler for the PIC >microcontroller! Point your WWW browser at http://www.htsoft.com/ > >