Hello, I have a Hi-Tech C program that is using enough RAM to require me to place some extern variables in Bank1. I'm using a 16F873. I've read the Hi-Tech C manual, but am still lost at how to properly use the BANKx. Specifically, I have a bunch of global variables that I would like to move to bank1. All the variables I am moving are global unsigned char's. From the manual it seems all I would have to do is place BANK1 in front of them. If I only move a few variables to bank1 than the program compiles fine with the memory map: Program ROM $0000 - $03D1 $03D2 ( 978) words Program ROM $03D4 - $07FF $042C ( 1068) words Program ROM $0801 - $0EDF $06DF ( 1759) words $0EDD ( 3805) words total Program ROM Bank 0 RAM $0020 - $006C $004D ( 77) bytes Bank 0 RAM $006E - $007C $000F ( 15) bytes Bank 0 RAM $007F - $007F $0001 ( 1) bytes $005D ( 93) bytes total Bank 0 RAM Bank 1 RAM $00A0 - $00A3 $0004 ( 4) bytes Bank 1 RAM $00FF - $00FF $0001 ( 1) bytes $0005 ( 5) bytes total Bank 1 RAM <- YEAH! Something in Bank1 Program statistics: Total ROM used 3805 words (92.9%) Total RAM used 98 bytes (51.0%) However, if I try to move more variables to bank1 (5 or less depending on exactly what variables I choice) the compiler fails when linking: The instruction at 00404ace referenced memory at 00000000 The memory could not be read fromEnter PICC -HELP for help Serial number: HCPIC-14658 Licensed to : DONOVAN PARKS I thought it might have something to do with the variable being used in the ISR or not, but this doesn't appear to be true. Are there some subtle issues regarding the use of BANKx? Does anyone have the time to look over my program to see if I am doing something "silly"? Thanks, Donovan -- http://www.piclist.com#nomail Going offline? Don't AutoReply us! email listserv@mitvma.mit.edu with SET PICList DIGEST in the body