g_func1.c
来自「操作系统实验教程核心技术与编程实例书中地例子代码」· C语言 代码 · 共 31 行
C
31 行
svect()
{
segs.ds = FP_SEG(&gint8);
tt = FP_OFF(&gint8);
inregs.x.dx = tt;
inregs.x.ax = 0x2508;
intdosx(&inregs,&outregs,&segs);
}
void save8(int n)
{
/* get 8h vector */
if (n==1) { inregs.x.ax = 0x3508; }
else { inregs.x.ax = 0x3581; }
intdosx(&inregs,&outregs,&segs);
old_segment = segs.es;
old_offset = outregs.x.bx;
/* save old_8h --> 81h */
segs.ds = old_segment;
inregs.x.dx = old_offset;
if (n==1) { inregs.x.ax = 0x2581; }
else { inregs.x.ax = 0x2508; }
intdosx(&inregs,&outregs,&segs);
}
void ggret()
{
save8(0);
setvect(INTERRUPT,oldhandler);
printf("\n Exit from genix--return");
exit();
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?