> Fixup overflow errors usualy occur when you are using pointers, and try to > access a variable in the wrong bank for the specified pointer e.g.: A "fixup" error is usually something generated by a linker. With most linkers at least, a fixup record is something written to the relocatable binary that needs work (or fixing) at link time. All absolute address references fall in this catagory, for example, because the absolute address isn't known at assembly time. Most linkers are smart enough to allow some limited math to be described in the fixup record, like REMOTEVAR + 3. MPLINK is definitely on the dumb side, and doesn't support much more than a simple addition if I remember right. So, given this context, I would assume a fixup overflow error means that the resulting expression generated a value greater than what the field could hold. I've never run accross such an error myself. Usually the assembler weeds out the ones where too much math is specified. You get an "expression too complex" message. Your error must therefore be something the linker could do except for the value of the result. Perhaps something like GOTO REMOTESUB+h'1FFF' could cause such an error. Just guessing. ***************************************************************** Embed Inc, embedded system specialists in Littleton Massachusetts (978) 742-9014, http://www.embedinc.com -- http://www.piclist.com hint: The PICList is archived three different ways. See http://www.piclist.com/#archives for details.