130 Rabbit 2000/3000 Microprocessor
Description
Pushes the current Program Counter, PC, onto the stack and then resets the PC to the interrupt vector address
represented by IIR:v,whereIIR is the address of the interrupt table and v is the offset into the table. The
address of the vector table can be read and set by the instructions LD A,IIR and LD IIR,A respectively, where
A is the upper nibble of the 16 bit vector table address. The vector table is always on a 100h boundary.
The push is accomplished by first loading the high-order byte of the PC into the memory location with the
address 1 less than the number in the Stack Pointer, SP. Then the low-order byte of the PC is loaded into the
memory location with the address two less than the number in SP. The value in SP is then decremented twice.
The PC is reset by loading it with the address to reset to v (any of the addresses 0020, 0030, 0040, 0050, or
0070).
RST v
Opcode Instruction Clocks Operation
āā
D7
DF
E7
EF
FF
RST v
RST 10
RST 18
RST 20
RST 28
RST 38
8 (2,2,2,2)
8 (2,2,2,2)
8 (2,2,2,2)
8 (2,2,2,2)
8 (2,2,2,2)
8 (2,2,2,2)
(SP-1)=PC
(high)
; (SP - 2) = PC
(low)
;
SP = SP - 2; PC = Restart Address
{IIR, 0x20}
{IIR, 0x30}
{IIR, 0x40}
{IIR, 0x50}
{IIR, 0x70}
Flags ALTD I/O
S Z L/V C F R SP S D
- - - -