Justin Richards wrote: >=20 > I now find that I must use banksel directives everywhere because I do > not know if the compiler has put the GPR I am referencing in the same > bank as a special purpose register I am referencing. >=20 > For example >=20 > banksel PORTB > movfw PORTB > banksel shadow > movwf shadow For an often-accessed variable, such as a shadow register, you can place it in a UDATA_SHR section (shared GPRs), instead of UDATA. Then you don't nee= d the banksel before accessing it. Of course, you can only do that for a limited number of variables, but by using shared memory for your most commonly accessed variables, you can cut down on the need for banksel quite significantly. Cheers, David Meiklejohn www.gooligum.com.au --=20 http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist .