GDTR与LDTR

----段寄存器

一、访问GDT

 

 

 

TI=0时表示段描述符在GDT中,如上图所示:

段描述符(64位)

①先从GDTR寄存器(48位,其中前32位base+16位长度)中获得GDT基址。

②然后再GDT中以段选择器(ES,DS等等)高13位位置索引值得到段描述符。

③段描述符符包含段的基址、限长、优先级等各种属性,这就得到了段的起始地址(基址),再以基址加上偏移地址yyyyyyyy才得到最后的线性地址。

 

二、访问LDT


 

TI=1时表示段描述符在LDT中,如上图所示:

先从GDTR寄存器(48位,其中前32位base+16位长度)中获得GDT基址

②从LDTR寄存器中获取LDT所在段的位置索引(LDTR高13位)。

③以这个位置索引在GDT中得到LDT段描述符从而得到LDT段基址。

④用段选择器高13位位置索引值从LDT段中得到段描述符。

⑤段描述符符包含段的基址、限长、优先级等各种属性,这就得到了段的起始地址(基址),再以基址加上偏移地址yyyyyyyy才得到最后的线性地址。


posted @ 2017-06-01 23:36  jadeshu  阅读(1248)  评论(0编辑  收藏  举报