As we mentioned previously, the CPU core has two sets of data registers: Bank 0 and an alternate, Bank 1. The active bank is determined by the setting of the “B” bit in the Flag register. You can use the alternate register bank for any purpose, but it’s especially useful when entering interrupt service routines. Instead of saving all the working registers on the stack when you enter the routine, just save them to the alternate register set. The Renesas C compiler for R8C MCUs has an option switch in the interrupt declaration statement that automatically switches to the alternate register set in a service routine.

