Chapter 2. Rabbit Processor Registers
The registers of the Rabbit family of microprocessors can be divided into two categories: processor registers
and I/O registers. That last category can be divided further: parallel port registers, serial port registers,
memory control registers, timer registers, etc. Information on I/O registers can be found in the Rabbit chip
manuals and in the Dynamic C help file, accessible by selecting "I/O Registers" from the help menu.
The registers discussed in this chapter are the processor registers. These are the registers that are used in
the Rabbit instruction set.
2.1 Rabbit 2000/3000 Processor Registers
The Rabbit 2000 and Rabbit 3000 microprocessors have identical processor register sets. The following
table provides details.
Table 1. Rabbit 2000/3000 Register Set
Accumulators
|
|
|
|
Flags1
|
|
|
|
General Purpose
|
|
|
B´, C´, D´, E´, H´, L´ BC´, DE´
|
Index
|
|
|
|
Stack Pointer
|
|
|
|
Program Counter
|
|
|
|
Xmem Program Counter
|
|
|
|
Interrupt Priority
|
|
|
|
Internal Interrupt
|
|
|
|
External Interrupt
|
|
|
|
1
S=Sign, Z=Zero, LV=Logical/Overflow, C=Carry. Bits marked "x" are reserved for future use.
|
Flag Bits
2.2 Rabbit 4000/5000 Processor Registers
The Rabbit 4000 and Rabbit 5000 microprocessors have identical processor register sets. The following
table provides details.The Rabbit 4000 and 5000 have an expanded register set compared to the Rabbit
2000 and 3000.
.
Table 2. Rabbit 4000/5000 Register Set
Accumulators
|
A
|
HL
|
|
A´, HL´
|
Flags1
|
F
|
|
|
F´
|
General Purpose
|
B, C, D, E, H, L
|
BC, DE, JK
|
BCDE, JKHL
|
B´, C´, D´, E´, H´, L´ BC´, DE´, JK´ BCDE´, JKHL´
|
Index
|
|
IX, IY
|
PW, PX, PY, PZ
|
PW´, PX´, PY´, PZ´
|
Stack Pointer
|
|
SP
|
|
None
|
Program Counter
|
|
PC
|
|
None
|
Xmem Program Counter
|
XPC
|
XPC (low 12 bits valid)
|
|
None
|
Interrupt Priority
|
IP
|
|
|
None
|
Internal Interrupt
|
IIR
|
SP
|
|
None
|
External Interrupt
|
EIR
|
PC
|
|
None
|
System/User Mode
|
SU
|
|
|
None
|
Handle Table Register
|
HTR
|
|
|
None
|
1
S=Sign, Z=Zero, LV=Logical/Overflow, C=Carry. Bits marked "x" are reserved for future use.
|
Flag Bits