T.I.M | ISA Specification
 All Pages
Interrupt Registers

Interrupt Address Register: 0101, Memonic: IR

Interrupt Service Register: 0110, Memonic: IS

Functionality:

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.

Access

This can be read by:

  • MOVSR
  • TEST

This can be written by:

  • MOVRS