> When a subroutine in page 1 calls a subroutine also in page 1, > does the page bits need to be set? The answer is "it depends". say your code has just run from page 0 into page 1 and then does the call, you will probably need to change the bank bits. But if your code is a subroutine in page 1 that is calling another subroutine in page 1, then you will not need to change the bank bits. It is for this reason that Olin's development environment keeps the bank bits set to the current execution page. This means that all local calls within a linkable module do not need the bank bits set, keeping code compact. However the long call macro that he uses will always set the bank bits to the bank of the called module (even if it links into the same bank) and then resets them to the calling modules bank on return. Doing this housekeeping in this manner means that there is one less gotcha to catch one out. -- http://www.piclist.com hint: PICList Posts must start with ONE topic: [PIC]:,[SX]:,[AVR]: ->uP ONLY! [EE]:,[OT]: ->Other [BUY]:,[AD]: ->Ads