http://wyoos.org IDT interupt descriptor table GDT global descriptor table - set up segments - code segments, RX, never W - data segments, RW, never X - 16-bit compatibility on Intel, so quite a nightmare - asm( LGDT ) needed => we do GTD all in assembly, not really readable! Ideal would be to do as much as possible in C/C++ (even with some zero-overhead C++17 crazyness maybe) and then call a pure assembly function with a pointer to the GTD doing the 'LGDT' assembly operation types: - have local typedefs for DWORD32 or uint32_t (as Windows and POSIX did it) keyboard: - 0x20 PIC - asm( outb( port, byte)), outb function => better have ports knowing their own bandwith. SlowPort8, slowing down assembly code interrupts: - assember stubs translating calling conventions to static C++ function handling the interrupt number NO