gdt.asm (420B)
1 bits 32 2 3 global gdt_init 4 5 section .data 6 align 4 7 8 gdt_desc: 9 dw gdt_end - gdt - 1 ; limit 10 dd gdt ; start 11 12 gdt: 13 gdt_null: 14 dd 0x00000000 15 dd 0x00000000 16 17 gdt_code: 18 dd 0x0000ffff 19 dd 0x00cf9a00 20 21 gdt_data: 22 dd 0x0000ffff 23 dd 0x00cf9200 24 25 gdt_end: 26 27 section .text 28 29 gdt_init: 30 lgdt [gdt_desc] 31 32 mov ax, 0x10 33 mov ds, ax 34 mov es, ax 35 mov fs, ax 36 mov gs, ax 37 mov ss, ax 38 39 jmp 0x08:.clean_pipe 40 41 .clean_pipe: 42 ret