PROGRAMMING ENVIRONMENT
3-3
3
The i960 architecture supplies 16 global registers, designated g0 through g15. Register g15 is
reserved for the current Frame Pointer (FP), which contains the address of the first byte in the
current (topmost) stack frame in memory. See
CHAPTER 7, PROCEDURE CALLS
for a
description of the FP and procedure stack.
After the processor is reset, register g0 contains device identification and stepping information
(DeviceID). Refer to
Section 1.4, ”Related Documents” (pg. 1-10)
. Further information on Device
IDs can be found in these documents. The information is retained in g0 until it is written over by
the user program. The device identification and stepping information is also stored in the
memory-mapped DEVICEID register located at FF00 8710H.
3.2.2
Local Registers
The i960 architecture provides a separate set of 32-bit local data registers (r0 through r15) for each
active procedure. These registers provide storage for variables that are local to a procedure. Each
time a procedure is called, the processor allocates a new set of local registers and saves the calling
procedure’s local registers. When the application returns from the procedure, the local registers are
released for the next procedure call. The processor performs local register management; a program
need not explicitly save and restore these registers.
Local registers r3 through r15 are general purpose registers; r0 through r2 are reserved for special
functions; r0 contains the Previous Frame Pointer (PFP); r1 contains the Stack Pointer (SP); r2 contains
the Return Instruction Pointer (RIP). These are discussed in
CHAPTER 7, PROCEDURE CALLS
.
The processor does not always clear or initialize the set of local registers assigned to a new
procedure. Also, the processor does not initialize the local register save area in the newly created
stack frame for the procedure. User software should not rely on the initial values of local registers.
Table 3-1. Registers and Literals Used as Instruction Operands
Instruction Operand
Register Name (number)
Function
Acronym
g0 - g14
global (g0-g14)
general purpose
fp
global (g15)
frame pointer
FP
pfp
local (r0)
previous frame pointer
PFP
sp
local (r1)
stack pointer
SP
rip
local (r2)
return instruction pointer
RIP
r3 - r15
local (r3-r15)
general purpose
0-31
literals
Summary of Contents for i960 Jx
Page 1: ...Release Date December 1997 Order Number 272483 002 i960 Jx Microprocessor Developer s Manual ...
Page 24: ......
Page 25: ...1 INTRODUCTION ...
Page 26: ......
Page 35: ...2 DATA TYPES AND MEMORY ADDRESSING MODES ...
Page 36: ......
Page 46: ......
Page 47: ...3 PROGRAMMING ENVIRONMENT ...
Page 48: ......
Page 73: ...4 CACHE AND ON CHIP DATA RAM ...
Page 74: ......
Page 85: ...5 INSTRUCTION SET OVERVIEW ...
Page 86: ......
Page 111: ...6 INSTRUCTION SET REFERENCE ...
Page 112: ......
Page 233: ...7 PROCEDURE CALLS ...
Page 234: ......
Page 256: ......
Page 257: ...8 FAULTS ...
Page 258: ......
Page 291: ...9 TRACING AND DEBUGGING ...
Page 292: ......
Page 309: ...10 TIMERS ...
Page 310: ......
Page 324: ......
Page 325: ...11 INTERRUPTS ...
Page 326: ......
Page 369: ...12 INITIALIZATION AND SYSTEM REQUIREMENTS ...
Page 370: ......
Page 412: ......
Page 413: ...13 MEMORY CONFIGURATION ...
Page 414: ......
Page 429: ...14 EXTERNAL BUS ...
Page 430: ......
Page 468: ......
Page 469: ...15 TEST FEATURES ...
Page 470: ......
Page 493: ...A CONSIDERATIONS FOR WRITING PORTABLE CODE ...
Page 494: ......
Page 502: ......
Page 503: ...B OPCODES AND EXECUTION TIMES ...
Page 504: ......
Page 515: ...C MACHINE LEVEL INSTRUCTION FORMATS ...
Page 516: ......
Page 523: ...D REGISTER AND DATA STRUCTURES ...
Page 524: ......
Page 550: ......
Page 551: ...GLOSSARY ...
Page 552: ......
Page 561: ...INDEX ...
Page 562: ......
Page 578: ......