GDT?
-
Hallo,
ich gucke mir zur Zeit die GDT an und ich versteh nicht wie ich darein schreiben soll oder wozu die überhaupt gut ist.
Kann mir das wer erklären?LG
-
Die GDT wird hier erklärt:
http://henkessoft.de/OS_Dev/OS_Dev1.htm#mozTocId14234
http://henkessoft.de/OS_Dev/OS_Dev1.htm#mozTocId398766
http://wiki.osdev.org/GDT
http://www.lowlevel.eu/wiki/GDT
http://en.wikipedia.org/wiki/Global_Descriptor_TableBeschaffe Dir auch die Intel Manuals:
http://www.intel.com/content/www/us/en/processors/architectures-software-developer-manuals.htmlGDT in PrettyOS:
;****************************************************************************** ; Global Descriptor Table (GDT) ; ;****************************************************************************** gdt_data: NULL_Desc: ; null descriptor (necessary) dd 0 dd 0 CODE_Desc: dw 0xFFFF ; segment length bits 0-15 ("limit") dw 0 ; segment base byte 0,1 db 0 ; segment base byte 2 db 10011010b ; access rights db 11001111b ; bit 7-4: 4 flag bits: granularity, default operation size bit, ; 2 bits available for OS ; bit 3-0: segment length bits 16-19 db 0 ; segment base byte 3 DATA_Desc: dw 0xFFFF ; segment length bits 0-15 dw 0 ; segment base byte 0,1 db 0 ; segment base byte 2 db 10010010b ; access rights db 11001111b ; bit 7-4: 4 flag bits: granularity, ; big bit (0=USE16-Segm., 1=USE32-Segm.), 2 bits avail. ; bit 3-0: segment length bits 16-19 db 0 ; segment base byte 3 CODE16_Desc: dw 0xFFFF dw 0 db 0 db 10011010b db 00001111b db 0 end_of_gdt: gdt_limit_and_base: dw end_of_gdt - gdt_data - 1 ; limit (size/length of GDT) dd gdt_data ; base of GDT