From a99ca43066ba246475809a0e805bf52e8195debd Mon Sep 17 00:00:00 2001 From: Michal Idziorek Date: Tue, 24 Jun 2014 13:53:31 +0200 Subject: Initial commit of FoolOS FoolOS - the most useless OS in history. --- boot/GDT.asm | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 boot/GDT.asm (limited to 'boot/GDT.asm') diff --git a/boot/GDT.asm b/boot/GDT.asm new file mode 100644 index 0000000..27514de --- /dev/null +++ b/boot/GDT.asm @@ -0,0 +1,36 @@ +gdt_start: + +gdt_null: ;null descriptor (2 x 4 bytes) + dd 0x0 + dd 0x0 + +gdt_code: + ; flags: + ; present: 1 / privilege: 00 / type: 1 + ; code: 1 / conforming: 0 / readable: 1 / accessed: 0 + ; granularity: 1 / 32-bit default: 1 / 64-bit seg: 0 / AVL: 0 + dw 0xffff ;limit + dw 0x0 ;base + db 0x0 ;base + db 10011010b ;flags + db 11001111b ;flags & seg.limit + db 0x0 ;base + +gdt_data: + ; flags: + ; code: 0 / expand down: 0 / writable: 1 / accessed: 0 + dw 0xffff + dw 0x0 + db 0x0 + db 10010010b + db 11001111b + db 0x0 + +gdt_end: + +gdt_descriptor: + dw gdt_end-gdt_start-1 + dd gdt_start + +CODE_SEG equ gdt_code - gdt_start +DATA_SEG equ gdt_data - gdt_start -- cgit v1.2.3