收藏 分享(赏)

实验一 系统功能调用.ppt

上传人:yjrm16270 文档编号:8269353 上传时间:2019-06-17 格式:PPT 页数:12 大小:186.50KB
下载 相关 举报
实验一  系统功能调用.ppt_第1页
第1页 / 共12页
实验一  系统功能调用.ppt_第2页
第2页 / 共12页
实验一  系统功能调用.ppt_第3页
第3页 / 共12页
实验一  系统功能调用.ppt_第4页
第4页 / 共12页
实验一  系统功能调用.ppt_第5页
第5页 / 共12页
点击查看更多>>
资源描述

1、实验一 系统功能调用,1. 在屏幕的指定区域内显示字符串。(必做题) 2. 在屏幕的指定区域内画框,在框内显示字符串。(提高题) 3在屏幕的指定区域内画框并以动画形式显示字符串。(选做题),int86(0X10, &r, &r)函数,对BIOS调用的标准函数 其中0X10是BIOS调用类型号(相当于INT n调用的中断类型号n),是10H号中断调用,是一个显示I/O调用。第一个&r是指向联合类型REGS的指针,用于接收调用的功能号及其它一些指定的入口参数,以便传给相应寄存器。 第二个&r是指向联合类型REGS的指针,用于接收功能调用后的返回值,即出口参数。,dos.h中REGS定义如下:,un

2、ion REGS struct WORDREGS x; struct BYTEREGS h; struct WORDREGS unsigned int ax,bx,cx,dx,si,di,cflag,flags; ; Struct BYTEREGS unsigned int al,ah,bl,bh,cl,ch,dl,dh; ,10H号中断调用所包含的功能调用(部分):,AH 功能调用00H 置显示方式01H 置光标类型02H 置光标位置06H 当前显示页上滚07H 当前显示页下滚09H 写字符和属性,02H功能调用:,入口参数:AH 02H DH 光标的行位置(行数),0行是顶行,24行是底行

3、。 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”字

4、符不闪烁。 6-4 背景色。可用的是:6 5 4 颜色0 0 0 黑0 0 1 蓝0 1 0 绿0 1 1 青1 0 0 红1 0 1 绛1 1 0 褐1 1 1 浅灰3 前景字符的亮度,置“1”高亮度,置“0”正常亮度。 2-0 前景色。可使用的彩色与背景色相同。,例: 设置字符闪烁、背景色是红色、字 符高亮度、字符颜色兰色。 BH=11001001,09H号功能调用:,入口参数: AH 09H BH 在文本方式中,此寄存器指明正在写的显示页。在40 列方式中,可以用0到7页,在80列方式中,可用0到3页。在图形方式中总是0。 AL 放要写字符的ASCII码。 BL 在文本方式中,为写字符的

5、属性。 CX 将字符和属性写到屏幕上的次数。 出口参数:一个字符或多个字符显示在屏幕上。,定位子程序:,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; /*80列方式*/int86(0x10, /*系统功能调用*/ ,清屏子程序:,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; /*右下角

6、坐标*/r.h.dl =79;r.h.bh=7; /*7(000000111)表示背景色黑色,前景字 符灰色,*/int86(0x10, ,在指定位置写参数子函数:,void writech(int x , int y, char ch ,int attr) union REGS r;locate(x ,y); /*调用定位子函数*/r.h.ah=9; /*子功能号*/r.h.bh=0; /*80列方式*/r.h.al=ch; /*要写字符的ASCII码*/r.h.bl=attr; /*要写字符属性*/r.x.cx=1; /*将字符和属性写到屏幕上的次数。int86(0x10, ,主函数(参考):,void main() int i,x=10,y=10;cls( );for(i=0;i26;i+)writech(x,y+i,65+i,7);getch( ); ,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报