Folks when writing PIC assembly: Do NOT mix variables declared UDATA_OVR that are used in interrupt and non-interrupt level code! That bug took some time to figure out! I was trying to be too clever this time...... Now I use overlayed variables ONLY in non-real time (non-interrupt code.) The file registers (variables) used in interrupt service routines are either just UDATA or UDATA_SHR. I have yet figure out if UDATA will go down into or over UDATA_SHR space if you run out of UDATA space. Guess we'll see. GL, Walt...