欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

系统功能调用Windows操作系统原理实验

程序员文章站 2024-02-07 12:44:58
一、实验目的 1、熟悉操作系统的系统功能调用。 2、掌握用C语言实现系统功能调用的方法和步骤。 3、掌握利用10H号功能调用(BIOS的显示I/O功能调用)来实现对屏幕的操作与控制。 二、实验内容 1、在屏幕的指定区域内显示字符串。(必做题) 2、在屏幕的制定区域内画框,在框内显示字符串。(提高题) ......

一、实验目的

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