2-4 System Registers

This section describes the system registers.

Program Counter (PC)
This is the counter for instruction pre-fetch.

Procedure Register (PR)
This register stores the return address from a subroutine procedure. It stores the return address in the procedure register when a subroutine is called. Therefore in SuperH there is no memory access in a subroutine call and no instruction pipeline stall. If it is nested 2 or more levels it is the programmer's responsibility to save and restore the procedure register.

Multiply and Accumulate (MAC)
These registers store the results of multiply operations and multiply-and-accumulate operations. If the result is to be used for other than a multiply and accumulate operation it must be transferred to a general register.