+ -
当前位置:首页 → 问答吧 → 再问如何读GDT中描述符的数据

再问如何读GDT中描述符的数据

时间:2011-04-16

来源:互联网

我定义了一个临时数据段,用于存放GDT的界限和32位地址,然后用sgdt把
GDTR保存到这个临时数据段,可是我不知道该如何去GDT中描述符中的数据了,
因为不知道数据段该用哪个?请看:
;临时数据区
tseg segment use16
  db 100 dup(0)
tseg ends 

保护模式下的部分代码:
  mov ax,datat_sel ;这是临时数据段的选择子
  mov ds,ax
  mov bx,0
  sgdt fword ptr [bx] ;把GDTR保存到BX所指向的内存中
  mov esi,[bx+2] ;把GDTR中的基地址保存到ESI中
  ;以下这句在运行时会出错
  mov dh,[esi+7] ;我想取第八个字节数据,但是这句有错误,因为段地址不知道该怎么取

请问:该怎么做呢?

作者: leetow2003   发布时间: 2011-04-16

你的程序在什么环境下运行的,保护模式环境是谁初始化的

作者: Lactoferrin   发布时间: 2011-04-16