CPU Interrupts Simulator

On accept, CPU pushes current register contents to the stack; on return, CPU pops and reloads them. Higher-priority interrupts can nest (LIFO stack).
Registers • PUSH/POP • Priority • Fixed message area

Controls

Cycle 0000
6
Interrupts enabled (I flag)
Allow nested interrupts
CPU
USER
Running user code
PC
0x1000
Part of saved context
Queue
0
Pending interrupts
Stack depth
0
Saved register sets
I flag
ON
Maskable interrupts
Current priority
Lower number = higher
Reset clears queue/stack and turns off all Auto sources to avoid confusion.
Interrupt sources
Trigger or Auto-generate
Emergency (NMI)
Non-maskable, highest priority
prio 0
ISR length
Disk I/O complete
Important device completion
prio 1
ISR length
System timer
Regular tick / time slice
prio 2
ISR length
Keyboard
User input
prio 3
ISR length
Event log
Per cycle

Simulation

Priority + Stack + Registers
Pending interrupt queue
Highest priority accepted when allowed
Queue empty. Trigger an interrupt source on the right.
Stack (saved CPU registers)
PUSH on accept • POP on return • LIFO