第9章 中断调用程序设计
- 格式:ppt
- 大小:332.00 KB
- 文档页数:69
第9章结构【练习9-1】定义一个能够表示复数的结构类型,一个复数包括实数与虚数两个部分。
解答:struct complex{float real;float imaginary;};【练习9-2】人的出生日期由年、月、日组成,请在例 9-1 中的通讯录结构中增加一个成员:出生日期,用嵌套定义的方式重新定义该结构类型。
解答:struct date{int year;int month;int day;};struct student{int num;char name[10];struct date birthday;int computer,english,math;double average;};【练习9-3】例 9-1 中,如果要计算的是三门课程的课程平均成绩,应该如何改写程序?解答:#include<>struct student{int num;char name[10];int computer,english,math;double average;};int main(void){int i, n;double math_sum,english_sum,computer_sum;struct student s1;printf("Input n:");scanf("%d", &n);printf("Input the student's number, name and course scores:\n"); math_sum=english_sum=computer_sum=0;for(i=1;i<=n;i++){printf("No.%d:",i); scanf("%d%s%d%d%d",&,,&,&,&;math_sum+=;english_sum+=;computer_sum+=;}printf("math_ave:%.2lf\nenglish_ave:%.2lf\ncomputer_ave:%.2lf\n", math_sum/n,english_sum/n,computer_sum/n);return 0;}【练习9-4】定义一个包含 5 名学生信息的结构数组,并对该结构数组的所有元素进行初始化。
第9章 BIOS和DOS中断1.教学目的:掌握BIOS和DOS中断程序设计的方法2.教学要求:①熟悉BIOS中断调用概念和调用方法②熟悉DOS中断调用概念和调用方法3.教学重点:①BIOS和DOS中断调用的概念和方法4.掌握难点:①BIOS和DOS中断程序设计方法5.教学进程安排:P315~P3486.教学方法:课堂讲授7.教学内容摘要9.1 BIOS和DOS概述9.1.1 基本输入输出系统(basic input / output system,BIOS)例行程序:位置:ROM(0FE000H~0FEFFF);功能:系统加电自检、引导装入、主要I/O设备的处理、接口控制方面的系统中断等;利用BIOS功能编写的程序特点:简洁,可读性好,易于移植。
9.1.2 磁盘操作系统(disk operating system,DOS)位置:软盘或硬盘;,:使BIOS用起来更方便;特点:比BIOS操作更简易,对硬件的依赖更少些。
9.1.3 DOS模块和ROM BIOS的关系图9.1 DOS模块和ROM BIOS的关系DOS 模块和ROM BIOS 的关系如图9.1所示:调用DOS 或BIOS 功能时,一般有以下几个基本步骤:①将调用参数装入指定的寄存器中;②如需功能号,把它装入AH ;③如需子功能号,把它装入AL ;④按中断号调用DOS 或BIOS 中断;⑤检查返回参数是否正确。
9.2 BIOS 中断调用9.2.1 BIOS 中断调用概述图9.2是用户程序和操作系统关系示意图,图9.2 用户程序和操作系统关系示意图9.2.2 BIOS 中断调用方法1、BIOS 调用的基本操作⑴设置分功能号 ⑵置入口参数⑶使用中断语句INT n ⑷分析出口参数2、BIOS 键盘输入功能调用扫描码:键盘上的每一个键都对应一个扫描码(01~83,或01H~53H),根据扫描码能唯一地确定哪一个键改变了状态。
字符码:①大部分键的字符码是一个标准的ASCII 码;②Alt 和功能键(F1~F10)等没有相应ASCII 码的键的字符码为0; ③能产生一个具体操作的一些非ASCII 码键。