2013-02-19 42 views
0

這是我的代碼:GDT中DC位的作用是什麼?

... 
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 

它正常工作時,在GDT DC位(訪問字節的第三位)爲零。 我想知道爲什麼不工作時它是1?

我知道dc位是數據選擇器的方向位,當它爲0時,該區段長大,當它爲1時,區段增長下降。但不知道什麼是長大和長大的意義。 (ESP ++和ESP--)

回答

0

DC位是由osdev.org命名的,由英特爾的手冊介紹它的擴展方向。數字只能在兩個方向上走:它可以增加或減少。 DC位是與它一起玩的東西。

如果堆棧段的大小需要動態地,堆棧段可以是一個拓展向下數據段(擴張方向標誌被設置)。 動態更改段限制會導致堆棧空間被添加到堆棧的底部

相關問題