diff options
Diffstat (limited to 'boot/GDT.asm')
| -rw-r--r-- | boot/GDT.asm | 26 |
1 files changed, 25 insertions, 1 deletions
diff --git a/boot/GDT.asm b/boot/GDT.asm index df76210..cc33c45 100644 --- a/boot/GDT.asm +++ b/boot/GDT.asm @@ -24,7 +24,7 @@ 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 + ; granularity: 1 / 16-bit default: 1 / 64-bit seg: 0 / AVL: 0 dw 0xffff ;limit dw 0x0 ;base db 0x0 ;base @@ -39,6 +39,28 @@ gdt_data: dw 0x0 db 0x0 db 10010010b + db 10001111b + db 0x0 + +gdt16_code: + ; flags: + ; present: 1 / privilege: 00 / type: 1 + ; code: 1 / conforming: 0 / readable: 1 / accessed: 0 + ; granularity: 1 / 16-bit default: 1 / 64-bit seg: 0 / AVL: 0 + dw 0xffff ;limit + dw 0x0 ;base + db 0x0 ;base + db 10011010b ;flags + db 10001111b ;flags & seg.limit + db 0x0 ;base + +gdt16_data: + ; flags: + ; code: 0 / expand down: 0 / writable: 1 / accessed: 0 + dw 0xffff + dw 0x0 + db 0x0 + db 10010010b db 11001111b db 0x0 @@ -50,3 +72,5 @@ gdt_descriptor: CODE_SEG equ gdt_code - gdt_start DATA_SEG equ gdt_data - gdt_start +CODE16_SEG equ gdt16_code - gdt_start +DATA16_SEG equ gdt16_data - gdt_start |
