I am trying to learn using the mplab ide with multiple source files in assembler. I could not find a linker definition for 16F628. I had downloaded Olin's development environment a while ago. Although, the environment seems to be priceless, it takes a while to grasp it. So I decided to start simple. However, I did use the linker file from Olin's environment, in the mplab. I used to declare variables between cblock 0x20 and endc. Now; however, I will need to declare them using UDATA_xxx. When I declare with UDATA_SHR, the definitions are placed in address starting 0x70 (what the linker defines). However, I know that all my variables will fit in bank0 (I am trying to convert a finished program). So, I tried declaring variables under UDATA. Looking at the watch window, it shows a variable being in 0x120 (as in the linker definition). However, when l look at the list file I see all the variables addresses are starting from 0x20. So, I am confused about the whole situation. How would I declare a variable so that it is in bank0 and access it from all over source files (if needed) and have the MPLAB show the correct address? Any ideas are appriciated as the help file is no longer helping me at this point. Sorry for the lengthy message, Omer YALHI -- http://www.piclist.com hint: The PICList is archived three different ways. See http://www.piclist.com/#archives for details.