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.