(40 . 12)(40 . 8)
118 SetIRQ TIMER_IRQ ; Timer reached limit, invoke timer IRQ
119
120 _cycle_no_mips_timer:
121
122 ;; Test if Interrupts are Disabled:
123 bt CP0_Status, CP0St_IE ; CF := CP0St_IE
124 jnc _cycle_no_irq ; If 0, IRQs are disabled, go to no_irq
125 test CP0_Status, (1 << CP0St_ERL) | (1 << CP0St_EXL) ; If ERL/EXL:
126 jnz _cycle_no_irq ; ... then also interrupts are disabled
127
128 JMP_IF_IRQS_OFF _cycle_no_irq ; Skip IRQ processing if IRQs disabled
129
130 GetSlaveIRQ ; See if slave threw interrupt
131
(64 . 7)(60 . 7)
133 ;; Copy InDelaySlot Flag to RunningDelaySlot Flag:
134 Flg_Cpy RunningDelaySlot, InDelaySlot
135
136 jmp _Handle_Exception ; Handle exception and end cycle.
137 jmp _Handle_Exception_IRQ ; Handle IRQ exception and end cycle.
138
139 _cycle_no_irq: ; If ints disabled or none pending
140