T.I.M | ISA Specification
|
Interrupt Address Register: 0101
, Memonic: IR
Interrupt Service Register: 0110
, Memonic: IS
These two registers are used to service hardware interrupts. The first register, IR
contains the address of the device or object that needs servicing. The second register, IS
contains the memory address of the interrupt service routine that is called each time an interrupt is recieved.
Whenever this happens, the interrupt service routine is called. It is the ISR's responsibility to save all GP register values to the stack and restore them again before returning. It may however assume that the link register contains the correct return address.
The contents of IS
must be specified by the programmer using the MOVRS instruction.
The IS
and IR
Registers are both 32 bits wide and initialised to zero on reset. Note that if an interrupt is pending and the IS
register is zero, the interrupt will go un-serviced until the IS
register takes a non-zero value. By this method, interrupt handling can be switched on or off.
This can be read by:
This can be written by: