Program Register Set - NEC V850E/MA1 User Manual

32-bit single-chip microcontroller
Hide thumbs Also See for V850E/MA1:
Table of Contents

Advertisement

3.2.1

Program register set

The program register set includes general-purpose registers and a program counter.
(1) General-purpose registers
Thirty-two general-purpose 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. r2 may be used by the real-time OS. If the real-time OS does
not use r2, it can be used as a variable register.
Name
r0
Zero register
r1
Assembler-reserved register
r2
Address/data variable register (when r2 is not used by the real-time OS)
r3
Stack pointer
r4
Global pointer
r5
Text pointer
r6 to r29
Address/data variable registers
r30
Element pointer
r31
Link pointer
PC
Program counter
(2) Program counter (PC)
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.
31
PC
Fixed to 0
CHAPTER 3
Table 3-1. Program Registers
Usage
Always holds 0
Working register for generating 32-bit immediate data
Used to generate stack frame when function is called
Used to access global variable in data area
Register to indicate the start of the text area (where program
code is located)
Base pointer when memory is accessed
Used by compiler when calling function
Holds instruction address during program execution
26 25
Instruction address during execution
User's Manual U14359EJ4V0UM
CPU FUNCTION
Operation
1 0
After reset
0
00000000H
67

Advertisement

Table of Contents
loading

Table of Contents