In the kernel process definition, the first thing performed is the initialisation of data structures (PCBs), and the installation of the interrupt vector table. The latter works as follows :
PROCEDURE Install(H:proc; vector:address; priority:integer) set vector to jump to flih set PSW in vector+2 {interrupts disabled} handlers[vector] := H {H is the handler} set priority field in PSW {needed for nested interrupts} pswtable[vector] := PSW {interrupts} END
This allows for variable priority interrupt handlers, but FLIH runs with all interrupts disabled.