- 1、本文档共35页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PAGE
PAGE 34
操作系统原理
实
验
指
导
书
苗暹 王晓东
TOC \o 1-3 \h \z \u HYPERLINK \l _Toc121192943 目 录
HYPERLINK \l _Toc121192944 实验一 系统功能调用 PAGEREF _Toc121192944 \h 1
HYPERLINK \l _Toc121192945 实验二 熟悉Linux环境 6
HYPERLINK \l _Toc121192946 实验三 进程控制 15
HYPERLINK \l _Toc121192947 实验四 进程间通信 18
HYPERLINK \l _Toc121192949 (一) 信号实验 18
HYPERLINK \l _Toc121192951 (二) 进程的管道通信实验 24
HYPERLINK \l _Toc121192960 实验五 文件操作 28
实验一 系统功能调用
【实验目的】
1.熟悉操作系统的系统功能调用。
2.掌握用C语言实现系统功能调用的方法和步骤。
3.掌握利用10H号功能调用(BIOS的显示I/O功能调用)来实现对屏幕的操作与控制。
【预习内容】
1.预习DOS、BIOS系统功能调用。
2.预习C语言实现系统功能调用的方法。
【实验内容】
1.在屏幕的指定区域内显示字符串。(必做题)
2.在屏幕的指定区域内画框,在框内显示字符串。(提高题)
3. 在屏幕的指定区域内动画显示字符串。(附加题)
【实验报告】
1.列出调试通过程序的清单,并加注释。
2.给出必要的程序设计思路和方法。
3.总结上机调试过程中所遇到的问题和解决方法及感想。
【实验相关资料】
int86(0X10, r, r)函数:对BIOS调用的标准函数
其中0X10是BIOS调用类型号(相当于INT n调用的中断类型号n),是10H号中断调用,是一个显示I/O调用。BIOS借助此中断产生的功能调用控制PC机屏幕上的文本和图形。通过给AH 寄存器设置适当的值选择想要的功能调用,然后发中断10H。
第一个r是指向联合类型REGS的指针,用于接收调用的功能号及其它一些指定的入口参数,以便传给相应寄存器。
第二个r是指向联合类型REGS的指针,用于接收功能调用后的返回值,即出口参数。
在dos.h中REGS定义如下:
struct WORDREGS
{
unsigned int ax,bx,cx,dx,si,di,cflag,flags;
};
struct BYTEGEGS
{
unsigned int al,ah,bl,bh,cl,ch,dl,dh;
};
union REGS
{
struct WORDREGS x;
struct BYTEGEGS h;
};
10H号中断调用下所包含的部分功能调用:
AH 功能调用
00H 置显示方式
01H 置光标类型
02H 置光标位置
06H 当前显示页上滚
07H 当前显示页下滚
09H 写字符和属性
02H功能调用:
入口参数:AH=02H
DH 光标的行位置(行数),0行是顶行,24行是底行。
DL 光标的列位置(列数),0列是最左边一列。
BH 光标显示页数,40列方式,可用0到7,80列方式,可用0到3。
出口参数:无
06H号功能调用:
入口参数:AH=06H
AL 指明滚动的文本行数。如放置‘0’
CH 指明窗口左上角的行位置(从0到24)。
CL 指明窗口左上角的列位置(从0到79,80列)。
DH 指明窗口右下角的行位置(从0到24)。
DL 指明窗口右下角的列位置(从0到79,80列)。
BH 指明加到窗口底部的空行显示属性。
对于彩色/图形适配器,属性字节如下所示:
位 说 明
7 置“1”用于字符闪烁,置“0
6-4 背景色。可用的是:
6 5 4 颜色
0 0 0 黑
0 0 1 蓝
0 1 0 绿
文档评论(0)