www.pudn.com > cwin.rar > INITGDT.C
/*-----------------------------------------------------------
函数 _Init_GDT : 初始化全局描述符表GDT
-----------------------------------------------------------*/
#include
GDT _MemCtrlBlock; /* 全局描述符表GDT的定义 */
long _CurrentEMM = 1200000L; /* 当前自由扩充存储器地址 */
void _Cdecl _Init_GDT(void)
{
/*-- 初始化空地址描述符 ---------------*/
_MemCtrlBlock.BlankDsc.size = 0;
_MemCtrlBlock.BlankDsc.baselow = 0;
_MemCtrlBlock.BlankDsc.basehigh = 0;
_MemCtrlBlock.BlankDsc.attr = 0;
_MemCtrlBlock.BlankDsc.blank = 0;
/*-- 初始化本GDT表的地址描述符 --------*/
_MemCtrlBlock.GDTDsc.size = 0;
_MemCtrlBlock.GDTDsc.baselow = 0;
_MemCtrlBlock.GDTDsc.basehigh = 0;
_MemCtrlBlock.GDTDsc.attr = 0;
_MemCtrlBlock.GDTDsc.blank = 0;
/*-- 初始化源数据块地址描述符 ---------*/
_MemCtrlBlock.Source.size = 0;
_MemCtrlBlock.Source.baselow = 0;
_MemCtrlBlock.Source.basehigh = 0;
_MemCtrlBlock.Source.attr = 0x093;
_MemCtrlBlock.Source.blank = 0;
/*-- 初始化目标数据块地址描述符 -------*/
_MemCtrlBlock.Destin.size = 0;
_MemCtrlBlock.Destin.baselow = 0;
_MemCtrlBlock.Destin.basehigh = 0;
_MemCtrlBlock.Destin.attr = 0x093;
_MemCtrlBlock.Destin.blank = 0;
/*-- 初始化ROM BIOS代码地址描述符 -----*/
_MemCtrlBlock.BiosCS.size = 0;
_MemCtrlBlock.BiosCS.baselow = 0;
_MemCtrlBlock.BiosCS.basehigh = 0;
_MemCtrlBlock.BiosCS.attr = 0;
_MemCtrlBlock.BiosCS.blank = 0;
/*-- 初始化ROM BIOS堆栈地址描述符 -----*/
_MemCtrlBlock.BiosSS.size = 0;
_MemCtrlBlock.BiosSS.baselow = 0;
_MemCtrlBlock.BiosSS.basehigh = 0;
_MemCtrlBlock.BiosSS.attr = 0;
_MemCtrlBlock.BiosSS.blank = 0;
}