global load_gdt load_gdt: cli lgdt [rdi] mov ax, 0x10 mov ds, ax mov es, ax mov fs, ax mov gs, ax mov ss, ax push 0x08 lea rax, [rel .reload_CS] push rax retfq .reload_CS: ret global load_tr load_tr: mov rax, rdi ltr ax ret