Page 1 of 1

What is the role of DC bit in GDT?

Posted: Tue Feb 19, 2013 4:26 am
by hrm
this is my code :

Code: Select all

...
data_seg equ os_data-gdt_start
code_seg equ os_code-gdt_start
...
jmp code_seg:pm_start
[BITS 32]
pm_start:        
mov ax,data_seg
mov ds,ax
mov word [ds:0xb8000],0xC341
it work correctly when dc bit (Third bit of Access byte) in the gdt is zero. I want to know why not work when it is 1?

I know that dc bit is Direction bit of data selectors , and when it's 0 , the segment grows up and when it's 1 the segment grows down. but not know what is the meaning of grows up and grows down exactly. grows up and grows down means to me when I want to use the stack.( ESP++ and ESP-- )

Re: What is the role of DC bit in GDT?

Posted: Tue Feb 19, 2013 4:49 am
by trinopoty
When memory grows up; it starts at "Base" and ends at "Base + Limit"
When memory grows down; it starts at "Base" and ends at "Base - Limit"