ImageVerifierCode 换一换
格式:DOCX , 页数:9 ,大小:75.80KB ,
资源ID:15084604      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/15084604.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(中断应用程序设计Word文档下载推荐.docx)为本站会员(b****2)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

中断应用程序设计Word文档下载推荐.docx

1、 选择背景色为蓝色,调色板为0,然后每行显示一种颜色,每四行重复一次,一直到整个屏幕都显示出彩条2设计要求:掌握结构化程序设计的主体思想,以自顶向下逐步求精的方法编制程序解决一些实际的问题,为将来编写软件积累一些典型的案例处理经验。1. 设计正确,方案合理。2. 界面友好,使用方便。3. 程序精炼,结构清晰。4. 设计报告5000字以上,含程序设计说明,用户使用说明,源程序清单及程序框图。5. 上机演示。6. 按学号顺序选课题号,并在规定的时间内独自完成相关课题的C源程序编写、调整和运行。源程序及编译生成各文件均保存在软盘中;7. 按本任务书的要求,按附录的要求编写课程设计报告(Word文档格

2、式)。并用A4的复印纸打印并装订; 二、进度安排第16 周 : 星期1 上午 8:00- 12:00 星期2 下午 2:00- 6: 星期4 上午 8:附:课程设计报告装订顺序:封面、任务书、目录、正文、评分、附件(A4大小的图纸及程序清单)。正文的格式:一级标题用3号黑体,二级标题用四号宋体加粗,正文用小四号宋体;行距为22。正文的内容:一、课题的主要功能;二、课题的功能模块的划分(要求画出模块图);三、主要功能的实现(至少要有一个主要模块的流程图);四、程序调试;五、总结;六、附件(所有程序的原代码,要求对程序写出必要的注释)。正文总字数要求在5000字以上(不含程序原代码)。目 录一.课

3、题的主要功能 1二.课题的功能模块划分 1三.主要功能的实现 2四.程序调试 4五.总结 5六附件 7一课题的主要功能本课题主要是要完成一个中断驻留程序,要求在屏幕的右上角上显示当前系统时间,时间格式为时:秒。完成该课题的系统时间的功能,需要不断的中断以同步显示系统时间,这里我们需要利用INT 1CH,平均每秒中断18.2次,以这样的频率同步显示系统时间足以满足人们的视觉效果。完成系统时间同步的前提,还需要读取系统时间和显示系统时间。二课题的功能模块划分该课题的的功能模块,就是在定义好数据之后,完成读取系统时间和显示系统时间两大模块。包括获取原中断类型,保存原中断类型,设置新的中断类型,执行中

4、断处理程序,应用堆栈保护现场,读取系统时间,然后分别将时间的BCD码转换为字符,在制定内存位置写入时间并显示时间,最后恢复现场,中断返回。具体功能模块图如下:该课题,采用调用子程序的思想来完成,主体功能都通过子程序模块完成,中断模块,读取系统时间模块,显示系统模块,现场保护模块及现场恢复模块。通过调用子程序的方法,使本程序更加具有条理性,其中现场保护是为了使寄存器里有用的数据保存起来,让寄存器进行其他运算,现场恢复是使之前保护起来的有用数据恢复,读取系统时间并使屏幕显示的时间与系统时间同步变化,这就不得不使用中断模块,运用INT 1CH,可以平均每秒中断18.2次,足以满足视觉上的同步。三 主

5、要功能的实现这个程序主要是要实现获取系统时间并显示时间。定好好数据之后,在DOS环境下,用2C号取系统时间的功能,将时赋值给CH,将分赋值给CL,将秒赋值给DH,将1/100赋值给DL,具体实现如下:MOV AH,2CH INT 21H MOV HOUR, CH MOV MINUTE,CL MOV SECOND,DH在DOS环境下,使用25号功能键设置中断向量,DS:DX=中断向量,AL=中断类型号,接下来完成驻留内存。MOV AX,251CH MOV AH,1 MOV AX,3100H设置显示时间在屏幕上的位置,MOV DX,(PRG_LEN+15)/16+16 然后进行现场保护,接下来便用

6、一个子函数INTIC来具体实现系统时间显示,将从系统中读取的时,分,秒分别送入内存T到T7,然后块装入指令 把SI指向的存储单元读入累加器,其具体实现如下:C1: MOV AL,HOUR CBW MOV DL,0AH DIV DL OR AX,3030H MOV WORD PTRT,AX ;将小时送入到T MOV AL,MINUTE MOV WORD PTRT+3,AX ;将分钟送入到T+3和T+4 MOV AL,SECOND MOV WORD PTRT+6,AX ;将秒钟送入到T+6和T+7 MOV CX,8 MOV AX,0B800H MOV ES,AX LEA SI,T MOV DI,1

7、44 C3: LODSB ;块装入指令 把SI指向的存储单元读入累加器 STOSW ;从 AX 读取的字 送入到ES:DI LOOP C3 CEND: IRET INT1C ENDP 以上是该课题的主要功能实现,该课题的总流程图如下:四 程序调试1:程序调试图 图4.12:程序运行图 图4.2 图4.3五 总结上机调试程序运行结果如下,调试过程遇到了一些问题,主要的是显示结果为乱码的情况,通过debug调试,发现原来是把两位数的时间转换为两个对应的字符输出时出现了问题,原来在汇编语言写得那本书上看到介绍CMOS存取块时说过其中就保存有当前的系统时间,我也自己用代码实现过,应为那里面保存两位的时

8、间是用组合型BCD码来实现的,受它的影响在实现调用系统时间中断功能时也想它是不是也是这样实现的,或者根本就是调用了它的值,后来才发现自己想错了,该过之后就得出了上面真确的结果。在编写程序过程中也出现一些编译错误,但我认为这些都是最低级的错误,和容易就能通过编译器的提示把它解决,在开始写代码前,我首先认真的阅读了群里老师发过来的那个与之类似的程序,它是随机的输出0到9之间的整数。但刚一开始阅读那个源程序我就发现其中有好多的错误,而且程序不完整,所以我决定先把这个示例程序调试出来,然后再写自己的那个程序。刚开始有好多的地方看不懂,有加之有些地方程序本身有问题,所以觉得我做的第三题应该有难度。但有一

9、句说的好:明知山有虎,偏向虎山行,学习最忌讳的就是知难而退,对自己没有信心。学习不能被眼前的一点小小的困难就吓倒,而爬不起来,那么如果一直这样下去你是很难学到有用的东西的,或者说是很难在这方面有一定的成绩的。学了一学期的汇编,一个这么小小的程序还不能完成那真是白学了,况且平时花在这门课程上的时间也不少。于是,我不断的鼓励自己,一定能做得出来的,看不懂的地方我就到网上去查,问身边的同学,经过一下午的努力终于把那示例程序调试了出来。也大致清楚了我要做的那题的基本思路,后来根据那个示例程序的提示,在晚上就把它弄出来了。通过这一次的课设练习,对汇编了解了很多,更加的巩固了以前学习的那些基础知识,同时我

10、也发现在写汇编程序中要注意的很多细节: 要合理,真确的利用自定义的堆栈来保护好寄存器的值,只要把入口参数,和子程序中要用到的寄存器的值保护起来就好了,输出参数是不能保护的,在调试程序的过程中我就出现了应为把输出参数也保护起来的低级的错误。 合理的利用debug功能,会是你在调试程序过程中事半功倍。刚开始认为调用系统时间中断,保存在对应寄存器中的值是用组合型BCD码形式保存的(因为CMOS中存取的系统时间就是用组合型BCD码来存取的)。于是我直接通过移位操着得到其高四位,低四位的值,并输出来,发现结果时乱码,后来通过debug功能,查看对应寄存器中的值,发现原来就是用十进制形式保存的,直接除以1

11、0就可以得到其余数和商,输出即可。六附件CODE SEGMENT ORG 100H ASSUME CS:CODE,DS:CODE HOUR DB 0 MINUTE DB 0 SECOND DB 0 COUNT DB 18 T DB 00:00START:MOV AX,CODE MOV DS,AX MOV SECOND,DH LEA DX,INT1C MOV AX,3100H ;驻留内存 INT1C PROC FAR DEC CS:COUNT JZ C2 JMP CEND C2: PUSH DS PUSH ES PUSH AX PUSH BX PUSH CX PUSH DX PUSH SI PUSH DI PUSH CS POP DS MOV COUNT,18 INC SECOND CMP SECOND,60 JB C1 MOV SECOND,0 INC MINUTE CMP MINUTE,60 MOV MINUTE,0 INC HOUR CMP HOUR,24 MOV HOUR,0 C

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1