92 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 the SP. The value in the SP is then decre-
mented 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
- - - -