资源描述:
《《微机原理与通信接口》课程设计说明书》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、武汉理工大学《微机原理与通信接口》课程设计说明书1.系统需求分析1.1DOS中断及功能调用简介目前DOS常用的9类中断(20H-27H和2FH)分为两种:DOS专用中断和DOS可调用中断。(1)DOS专用中断。DOS专用中断是指INT22H、INT23H和INT24H三个中断,属DOS操作时专用,用户不要直接使用。(2)DOS可调用中断。DOS可调用中断是指INT20H、INT21H、INT25H、INT26H、INT27H和INT2FH六个中断。这六个中断都供用户直接调用,但都必须要满足一定的入口条件。1)磁盘读/写中断。INT25H和INT26H分别用来读和写磁盘上的若干扇
2、区,这实际上是两条BIOS调用。2)程序退出中断。“INT20H”和“INT27H”都为程序的退出命令。其中“INT20H”为正常退出命令,当用户程序执行完后,可用该命令退回操作系统;“INT27H”为驻留退出命令,采用该退出命令时,留下的程序被DOS视为自身的一部分,不会被其他程序覆盖。在其他用户程序中,可通过使用软中断调用这部分驻留程序。3)假脱机打印文件中断。“INT2FH”用来实现假脱机打印文件命令PRINT。该命令的功能是,当用户在机器上执行其他任务时,打印机仍可打印处在打印队列中的数据文件。一个打印队列可容纳多至32个文件。4)系统功能调用。系统功能调用是指“INT
3、21H”中断。它是可供系统程序和应用程序调用的一个极其重要的中断,内含近百个系统子功能。操作系统的内核主要由它构成。系统功能调用的近百个系统子功能已经标准化,调用它们时完全不依赖于任何硬件设备,因此,用这些子功能编写研制成的所有系统软件或应用程序可在任何支持DOS的机器上运行。1.2时间日期系统功能调用“INT21H”是一个使用方便的系统服务程序,它的功能丰富,共有84个子功能,此次课程设计中,主要用到时间日期系统的功能调用,如表1.1所示:13武汉理工大学《微机原理与通信接口》课程设计说明书表1.1时间日期系统功能调用功能号功能入口参数出口参数DOS版本2AH取日期CX:DX
4、=日期1,2,3,62BH置日期CX:DX=日期AL=00,成功AL=FF,失败1,2,3,62CH取时间CX:DX=时间1,2,3,62DH置时间CX:DX=时间AL=00,成功AL=FF,失败1,2,3,613武汉理工大学《微机原理与通信接口》课程设计说明书1.程序流程图若为“Q”程序退出,结束在屏幕上实时显示日期或时间调用时间数值转换子程序调用日期数值转换子程序利用BIOS中时间参数的调用方法取时间利用BIOS中时间参数的调用方法取日期若为“T”调用显示时间子程序若为“D”调用显示日期子程序从键盘输入一个字符设置显示方式和显示提示信息开始图2.1程序流程图13武汉理工大学
5、《微机原理与通信接口》课程设计说明书1.程序设计STACKSEGMENTSTACKDW200DUP(?)STACKENDSDATASEGMENTTIME_STYLEDB8DUP(':'),12DUP('')DATE_STYLEDB18DUP('')STRDB'PLEASESELECTDATE(D)ORTIME(T)ORQUIT(Q):$'DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATA,ES:DATA,SS:STACKSTART:MOVAX,0001H;设置显示方式为40*25彩色文本方式INT10HMOVAX,DATAMOVDS,AXMOVES
6、,AXMOVCX,0MOVAX,1300HINT10HMOVDX,OFFSETSTR;显示提示信息MOVAH,9INT21HMOVAH,1;从键盘输入单个字符INT21HCMPAL,44H;AL='D'?JNEACALLDATE;显示系统日期A:CMPAL,54H;AL='T'?13武汉理工大学《微机原理与通信接口》课程设计说明书JNEBCALLTIME;显示系统时间B:CMPAL,51H;AL='Q'?JNESTARTMOVAH,4CH;返回dos状态INT21HDATEPROCNEAR;显示日期子程序DISPLAY:MOVAH,2AH;取日期INT21HMOVSI,0MOV
7、AX,CXMOVBX,100DIVBLMOVBL,AHCALLBCDASC1;日期数值转换成相应的ASCII码字符MOVAL,BLCALLBCDASC1INCSIMOVAL,DHCALLBCDASC1INCSIMOVAL,DLCALLBCDASC1MOVBP,OFFSETDATE_STYLEMOVDX,0C0DHMOVCX,18MOVBX,0007HMOVAX,1301H13武汉理工大学《微机原理与通信接口》课程设计说明书INT10HMOVAH,02H;设置光标位置MOVDX,0300HMO