How exactly does the goto instruction work then? If the PIC16 is an 8 bit microcontroller, why am I able to supply an instruction with 11 bits?
Also, referring to the code in my last post, are the lcall instruction and the pagesel directive responsible for setting bits 12 and 13 of the PCLATH?
So what do I do when I encounter a subroutine whose code exists across the 2048 boundary, or when I have a table whose return statements lie across the 256 boundary? Would I have to separate them into to separate subroutines/tables, and call them separately?