Renesas SH7781 用户手册

下载
页码 1692
2.   Programming Model 
Rev.1.00  Jan. 10, 2008  Page 31 of 1658 
REJ09B0261-0100 
 
Note on Programming: 
As the user's R0 to R7 are assigned to R0_BANK0 to R7_BANK0, and 
after an exception or interrupt R0 to R7 are assigned to R0_BANK1 to 
R7_BANK1, it is not necessary for the interrupt handler to save and 
restore the user's R0 to R7 (R0_BANK0 to R7_BANK0). 
2.2.3
 
Floating-Point Registers 
Figure 2.4 shows the floating-point register configuration. There are thirty-two 32-bit floating-
point registers, FPR0_BANK0 to FPR15_BANK0, AND FPR0_BANK1 to FPR15_BANK1, 
comprising two banks. These registers are referenced as FR0 to FR15, DR0/2/4/6/8/10/12/14, 
FV0/4/8/12, XF0 to XF15, XD0/2/4/6/8/10/12/14, or XMTRX. Reference names of each register 
are defined depending on the state of the FR bit in FPSCR (see figure 2.4). 
1.  Floating-point registers, FPRn_BANKj (32 registers) 
FPR0_BANK0 to FPR15_BANK0 
FPR0_BANK1 to FPR15_BANK1 
2.  Single-precision floating-point registers, FRi (16 registers) 
When FPSCR.FR = 0, FR0 to FR15 are assigned to FPR0_BANK0 to FPR15_BANK0; 
when FPSCR.FR = 1, FR0 to FR15 are assigned to FPR0_BANK1 to FPR15_BANK1. 
3.  Double-precision floating-point registers or single-precision floating-point registers, DRi (8 
registers): A DR register comprises two FR registers. 
DR0 = {FR0, FR1}, DR2 = {FR2, FR3}, DR4 = {FR4, FR5}, DR6 = {FR6, FR7}, 
DR8 = {FR8, FR9}, DR10 = {FR10, FR11}, DR12 = {FR12, FR13}, DR14 = {FR14, FR15} 
4.  Single-precision floating-point vector registers, FVi (4 registers): An FV register comprises 
four FR registers. 
FV0 = {FR0, FR1, FR2, FR3}, FV4 = {FR4, FR5, FR6, FR7}, 
FV8 = {FR8, FR9, FR10, FR11}, FV12 = {FR12, FR13, FR14, FR15} 
5.  Single-precision floating-point extended registers, XFi (16 registers) 
When FPSCR.FR = 0, XF0 to XF15 are assigned to FPR0_BANK1 to FPR15_BANK1; 
when FPSCR.FR = 1, XF0 to XF15 are assigned to FPR0_BANK0 to FPR15_BANK0. 
6.  Double-precision floating-point extended registers, XDi (8 registers): An XD register 
comprises two XF registers. 
XD0 = {XF0, XF1}, XD2 = {XF2, XF3}, XD4 = {XF4, XF5}, XD6 = {XF6, XF7}, 
XD8 = {XF8, XF9}, XD10 = {XF10, XF11}, XD12 = {XF12, XF13}, XD14 = {XF14, XF15}