系统功能调用Windows操作系统原理实验
一、实验目的
1、熟悉操作系统的系统功能调用。
2、掌握用C语言实现系统功能调用的方法和步骤。
3、掌握利用10H号功能调用(BIOS的显示I/O功能调用)来实现对屏幕的操作与控制。
二、实验内容
1、在屏幕的指定区域内显示字符串。(必做题)
2、在屏幕的制定区域内画框,在框内显示字符串。(提高题)
3、在屏幕上指定区域内画框并以动画形式显示字符串。(选做题)
清屏子程序:
void cls(void)
{ union REGS r;
r.h.ah=6; /*子功能号*/
r.h.al=0;
r.h.ch=0; /*左上角坐标*/
r.h.cl=0;
r.h.dh=24; /*右下角坐标*/
r.h.dl=79;
r.h.bh=7; /*7表示黑色*/
int86(0x10,&r,&r); /*系统功能调用*/
}
定位子程序:
void locate(int x, int y)
{ union REGS r;
r.h.ah=2; /*子功能号*/
r.h.dh=x; /*定位点坐标*/
r.h.dl=y;
r.h.bh=0;
int86(0x10,&r,&r);
}
在指定位置写参数:
void writech(int x , int y, char ch ,int attr)
{ union REGS r;
locate(x ,y);
r.h.ah=9;
r.h.bh=0;
r.h.al=ch;
r.h.bl=attr
r.x.cx=1;
int86(0x10,&r,&r);
}
屏幕画框可以用制表符来画。其主要方法是不断调用writech函数,在指定区域周围显示制表符,从而勾勒出一个窗口的轮廓。
制表符 ASCII码
┛ 217
┏ 218
┓ 191
┗ 192
┃ 179
━ 196