37
2.3 Programming Model
Program status (PS)
The program status register holds the program status in three parts, CCR, SCR, and ILM. See
Section 2.3.3 for more information.
The undefined bits are all reserved. When the register is re ad, 0 is always read from these bits.
No data can be written to this register.
Table base re gister (TBR)
The table base register holds the first address of the vector tabl e used for EIT processing.
The initial value after resetting is 000FFC00H.
Return pointer (RP)
The return pointer register holds the address to which contro l returns from a subroutine.
When the CALL instruction is executed, the PC value is trans ferred to the RP.
When the RET instruction is executed, the RP value is transferr ed to the PC.
The initial value after resetting is undefined.
System stack pointer (SSP)
SSP stands for system stack pointer.
When the S flag is 0, the SSP functions as R15.
The SSP can be specified explicitly.
It can also be used as a stack pointer to specify the s tack for saving t he PS and PC wh en EIT
occurs.
The initial value after resetting is 00000000H.
User stack pointer (USP)
USP stands for user stack pointer.
When the S flag is 1, the USP functions as R15.
The USP can be specified explicitly.
The initial value after resetting is undefined.
The USP cannot be used for the RETI instruction.
Multiplication/division result register (MDH/MDL)
The MDH and MDL are each 32 bits long.
The initial value after resetting is undefined.
[Multiplication]
When 32-bit data is multiplied by 32-bit data, the resulta nt 64-bit data is stored in the
multiplication/division result register as follows:
MDH: 32 high-order bits
MDL: 32 low-order b its
The result of multiplying 16 bits by 16 bits is stored as follow s:
MDH: Undefi ned
MDL: Resu ltant 32-bit data