- 10
- 0
- 约1.75万字
- 约 61页
- 2018-03-07 发布于湖北
- 举报
c12章 c语言综合应用程序示例
高级语言程序设计 苏守宝 博士/教授 信息工程学院软件工程教研室 办公室: 逸夫楼三楼404室, 电话: 3307529 7/se/c, 7/se/joop /homepage/showbo E-mail: cstry@ 第12章 C语言综合应用程序示例 多模块编程方法 图形处理应用 操作系统接口应用 C语言与汇编语言混合编程 综合应用程序示例--汉字显示技术 main() { printf(“%d”,var); proc1(); printf(“%d\n”,var); } ?程序模块文件f2.c 的内容如下: extern int var; /* 外部变量的说明 */ proc1() { var = 25 ; } 课后作业 教材 习题12(p.27): ex.1—ex.10 实验指导 习题二(p.71): ex1.1—1.6 实验二准备(实验指导书p.21 —p.26) 通过软件中断调用IBMDOS模块中的功能程序,即所谓系统功能调用,是高层接口。如 INT 21H 指令便是典型的软件接口,该接口包括了许多子功能。 ?例 :向显示器输出字符“A”的汇编语言程序段如下: MOV DL,“A” ; 置显示字符 MOV AH,2 ; 设功能号 INT 21H ; 系统功能调用? 使用这两种接口,用户就可以在不与极复杂的硬件接口打交道的情况下,使用系统资源,开发各种应用软件。 C语言作为一种中级语言,它的一些库函数实际上就是调用了一些系统功能调用子程序,用户可以利用它们来调用BIOS及DOS软件接口,以实现特定功能。 二、操作系统接口库函数 1、通用软中断调用库函数int86() int86(int intno,union REGS *inregs,union REGS *outregs); 说明:参数intno表示调用类型号,相当于中断指令int n调 用的中断类型号n;参数inregs用于接收调用功能号 及相关的一些入口参数;参数outregs用于接收调用 后的返回值,即出口参数。 举例:在屏幕的35行、20列处显示字符串“COMPUTER”。 #include stdio.h #include dos.h #include conio.h #define VIDEO 0x10 /* 10H号软中断 */ main() { union REGS inregs, outregs; inregs.h.ah = 2; /* 2号功能,即设置光标位置 */ inregs.h.dh = 35; /* 置行号为 35 */ inregs.h.dl = 20; /* 置列号为 20 */ inregs.h.bh = 0; /* 置显示页号为0 */ clrscr(); int86(VIDEO,inregs,outregs); /* 调用BIOS的子程序将光标定位 */ printf(“COMPUTER”); /* 在当前光标位置处输出字符串 */ return(0); } 2、系统功能调用库函数 intdos()和intdosx() intdos(union REGS *inregs, union REGS *outregs ); intdosx(union REGS *inregs, union REGS *outregs, struct REGS *segregs); 说明:与DOS的系统功能调用(INT 21H)相对应。 参数inregs是入口参数,表示相应的功能号;参数 outregs是出口参数,保存调用后的返回值;参数 segregs是一个结构SREGS类型的指针,用来设置和 保存CPU段寄存器的值。 3、发送DOS命令库函数 system() system(char
您可能关注的文档
最近下载
- 反应机理(研)-高等无机化学.ppt VIP
- 218SS-PKE 摩托车操作说明书.pdf
- 2025年高考甘肃卷物理真题.docx VIP
- 凯恩帝K1TBIII-A-As数控系统用户手册.pdf
- 杭州电子科技大学信息工程学院2025-2026学年《概率论与数理统计2》第一学期期末试题(B).docx VIP
- 第2章 有理数的运算(单元测试·培优卷)含答案-2024人教版七年级数学上册.pdf VIP
- 中考1600词汇对照表(英译汉).doc VIP
- 杭州电子科技大学2025-2026学年《概率论与数理统计2》第一学期期末试题(B).docx VIP
- 香农三大定理详解.ppt VIP
- 【初中物理】专项练习:物体的密度及其测定40题(附答案).pdf VIP
原创力文档

文档评论(0)