In the 12C509 you _cannot_ call code in the second half of a 'page'. This is because there are not enough bits available in the the instruction to define the full target address. "goto" instructions provide 9 bits to store the target address. This allows use to specify any address in a 'page' of 512 locations. You select the desired page of 512 locations by setting the PA0 bit in the status register. "call" instructions only provide 8 bits to store the target address. The ninth bit is assumed to be a zero. Thus, the complete address is: PA0 0 K K K K K K K K where the K bits are from the instruction. Thus, you can only call to the first 256 locations in each 512 location page. Bob Ammerman RAm Systems (high performance, high function, low-level software) -- http://www.piclist.com hint: The PICList is archived three different ways. See http://www.piclist.com/#archives for details.