Typed Assembly Language for Implementing OS Kernels in SMP/Multi-Core Environments with Interrupts