1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
[GLOBAL gdt_flush] gdt_flush: mov eax, [esp+4] lgdt [eax] mov ax, 0x10 mov ds, ax mov es, ax mov fs, ax mov gs, ax mov ss, ax jmp 0x08:.flush .flush: ret [GLOBAL tss_flush] tss_flush: mov ax, 0x2B ;entry 5 = 0x28, with RPL=3 ltr ax ret