- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
汇编课设-测量任意程序运行时间.doc
PAGE
课题名称 测试任意程序运行时间
PAGE \* MERGEFORMAT
PAGE \* MERGEFORMAT i
一、设计内容与设计要求
1.课程设计目的:
《汇编语言程式设计》是计算机专业的重要的专业基础课,通过本课程设计使学生进一步巩固课堂所学,全面熟悉、掌握8086宏汇编语言程式设计的基本方法和技巧,进一步提高编写程式、阅读分析程式及上机操作、调试程式的能力。
2.课题题目
1)测量任意程式的运行时间
2)读入一个文本文件并以DEBUG中的D命令格式显示。
3)文件加密程式
4)编写一个时钟程式
5)画网格线
6)画脉冲波图形
7)用“*”画菱形框
8)计算比赛成绩
3.设计要求:
1)在一周内学生须上机16小时以上,程式调试完后,须由指导老师在机器上检查运行结果,经教师认可后的源程式可通过打印机输出。
2)分组及安排
A.每组同学必须完成所指定的题目,每个同学须自己完成设计,应有不同的思路。
B.按学号分组,第一组为1、9、17、25、33号同学,第二组为2、10、18、26、34号,第三组为3、11、19、27、35号,依次类推,其中第一组做第一题,第二组做第二题,依次类推。
3)按规定格式完成课程设计报告,将其打印稿(A4纸)上交给老师存档。
4)不得抄袭他人程式、课程设计报告,每个人应体现自己的个性设计,成绩的考核按上机表现、答辩成绩及课程设计说明书来综合评定。成绩分为优、良、中、及格、不及格五级分评定。
二、进度安排
第2周 星期三 14时:00分——18时:00分
星期日 8时:00分——12时:00分
第3周 星期一 14时:00分——18时:00分
星期三 8时:00分——12时:00分
星期三 14时:00分——18时:00分
星期五 8时:00分——12时:00分
目 录
TOC \o 1-3 \h \z \u HYPERLINK \l _Toc18046 一、 题目 PAGEREF _Toc18046 1
HYPERLINK \l _Toc26761 二、程序总体设计方案、思路 PAGEREF _Toc26761 1
HYPERLINK \l _Toc19943 三、程序设计框图 PAGEREF _Toc19943 2
HYPERLINK \l _Toc13180 四、源程序清单 PAGEREF _Toc13180 2
HYPERLINK \l _Toc6432 五、程序调试结果及分析 PAGEREF _Toc6432 9
HYPERLINK \l _Toc24253 六、设计总结 PAGEREF _Toc24253 10
PAGE \* MERGEFORMAT
PAGE \* MERGEFORMAT 10
题目
测量任意程式的运行时间
要求:该程式驻留记忆体
思路:DOS操作系统中,程式的调入运行及程式的终止均是通过相应的软中断来实现的。若取得相应软中断,记录下程式开始调入运行的时间及程式终止的时间,则可测量出该程式运行的时间。
提示要点:与之相关的软中断分别为:
程式开始执行:4BH号系统功能调用(INT 21H)
程式结束: INT 20H
INT 27H
00H、3lH、4CH号系统功能调用(INT 21H)。
二、程式总体设计方案、思路
总体设计
DOS系统中所有程式的开始和结束都会调用特定中断的相应功能,我们要测试某一程式运行时间,只要分别记录程式开始的系统时间以及结束时的系统时间。再将二者求差值,就可以算出该程式运行时间了。
设计思路
我们可以取得程式开始和结束时调用的相应的中断,在中断执行之前加入记录时间的功能并让被修改的中断程式驻留在记忆体当中,记录完之后再调回到原中断,既不影响中断调用又达到了记录的目的。
在取得 21号中断的时候先要对AH中的数字进行判断,再决定执行开始的计时还是结束的计时。开始计时和结束计时分别为两个子程式BEGIN和FINISH,BEGIN将即时时间存入变量中,FINISH先获取当前时间,再把变量里的开始时间相应寄存器,求两者的差值,这个过程中的借位判断较为复杂。求完差值之后就利用INT 21H的2号功能输出HH:MM:SS:MS。
程式设计框图
四、源程序清单
;Main Program:
CODE SEGMENT
MESS DB THE PROGRAM RUNNING TIME IS:$
TIME1 DW 0
TIME2 DW 0
SAVE1 DD ?
SAVE2 DD ?
SAVE3 DD ?
MAIN PROC FAR
ASSUME CS:CODE,DS:CODE
START: PUSH
原创力文档


文档评论(0)