Well, drat, just when I thought I had things figured out, up comes another strangeness. The following code shows that I assign zero to a variable called DVAR, which I would certainly presume is located in data memory. (If not, then I am misunderstanding how things work). Then, just as a test, I assign zero to "MyStart" which is not defined in data memory, but is clearly in program memory. This is happily accepted by MPASM (although the address is truncated to 8 bits). Should not this have been flagged as an error??? Thanks, John LOC OBJECT CODE LINE SOURCE TEXT VALUE 00001 LIST P=18F452, F=INHX32 ;directive to define processor and file format 00002 #include ;processor specific variable definitions 00001 LIST 00002 ; P18F452.INC Standard Header File, Version 1.1 Microchip Technology, Inc. 00855 LIST 00003 0000 00004 org 0x00 0000 EFFF F001 00005 goto MyStart 03FE 00006 org 0x3fe 00000001 00007 DVAR equ 0x01 03FE 00008 MyStart: 03FE 6AE8 00009 clrf WREG 0400 6FFE 00010 movwf MyStart 0402 6E01 00011 movwf DVAR -- 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