57
Chapter 3
CPU Function
Preliminary User’s Manual U15839EE1V0UM00
3.2.1 Program
register
set
The program register set includes general registers and a program counter.
(1)
General registers
Thirty-two general registers, r0 to r31, are available. Any of these registers can be used as a data
variable or address variable.
However, r0 and r30 are implicitly used by instructions, and care must be exercised when using
these registers. r0 is a register that always holds 0, and is used for operations using 0 and offset 0
addressing. r30 is used, by means of the SLD and SST instructions, as a base pointer for when
memory is accessed. Also, r1, r3 to r5, and r31 are implicitly used by the assembler and
C compiler. Therefore, before using these registers, their contents must be saved so that they are
not lost. The contents must be restored to the registers after the registers have been used.
(2)
Program counter
This register holds the instruction address during program execution. The lower 26 bits of this
register are valid, and bits 31 to 26 are fixed to 0. If a carry occurs from bit 25 to 26, it is ignored.
Bit 0 is fixed to 0, and branching to an odd address cannot be performed.
Figure 3-2:
Program Counter (PC)
Table 3-1:
Program Registers
Name
Usage
Operation
r0
Zero register
Always holds 0
r1
Assembler-reserved register Working register for generating 32-bit immediate data
r2
Address/data variable registers
r3
Stack pointer
Used to generate stack frame when function is called
r4
Global pointer
Used to access global variable in data area
r5
Text pointer
Register to indicate the start of the text area (where pro-
gram code is located)
r6 to r29
Address/data variable registers
r30
Element pointer
Base pointer when memory is accessed
r31
Link pointer
Used by compiler when calling function
PC
Program counter
Holds instruction address during program execution
31
26 25
1 0
PC
Fixed to 0
Instruction address during execution
0
After reset
00000000H
Содержание mPD703128
Страница 6: ...6 Preliminary User s Manual U15839EE1V0UM00 ...
Страница 20: ...20 Preliminary User s Manual U15839EE1V0UM00 ...
Страница 32: ...32 Preliminary User s Manual U15839EE1V0UM00 MEMO ...
Страница 154: ...154 Preliminary User s Manual U15839EE1V0UM00 MEMO ...
Страница 238: ...238 Preliminary User s Manual U15839EE1V0UM00 MEMO ...
Страница 356: ...356 Preliminary User s Manual U15839EE1V0UM00 MEMO ...
Страница 522: ...522 Preliminary User s Manual U15839EE1V0UM00 MEMO ...
Страница 600: ...600 Preliminary User s Manual U15839EE1V0UM00 MEMO ...
Страница 610: ...610 Preliminary User s Manual U15839EE1V0UM00 ...
Страница 612: ......