汇编课设测量任意程序运行时间.docx
- 文档编号:10568218
- 上传时间:2023-02-21
- 格式:DOCX
- 页数:11
- 大小:24.68KB
汇编课设测量任意程序运行时间.docx
《汇编课设测量任意程序运行时间.docx》由会员分享,可在线阅读,更多相关《汇编课设测量任意程序运行时间.docx(11页珍藏版)》请在冰豆网上搜索。
汇编课设测量任意程序运行时间
课题名称测试任意程序运行时间
一、设计内容与设计要求
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分
一、题目
测量任意程式的运行时间
要求:
该程式驻留记忆体
思路:
DOS操作系统中,程式的调入运行及程式的终止均是通过相应的软中断来实现的。
若取得相应软中断,记录下程式开始调入运行的时间及程式终止的时间,则可测量出该程式运行的时间。
提示要点:
与之相关的软中断分别为:
程式开始执行:
4BH号系统功能调用(INT21H)
程式结束:
INT20H
INT27H
00H、3lH、4CH号系统功能调用(INT21H)。
二、程式总体设计方案、思路
1、总体设计
DOS系统中所有程式的开始和结束都会调用特定中断的相应功能,我们要测试某一程式运行时间,只要分别记录程式开始的系统时间以及结束时的系统时间。
再将二者求差值,就可以算出该程式运行时间了。
2、设计思路
我们可以取得程式开始和结束时调用的相应的中断,在中断执行之前加入记录时间的功能并让被修改的中断程式驻留在记忆体当中,记录完之后再调回到原中断,既不影响中断调用又达到了记录的目的。
在取得21号中断的时候先要对AH中的数字进行判断,再决定执行开始的计时还是结束的计时。
开始计时和结束计时分别为两个子程式BEGIN和FINISH,BEGIN将即时时间存入变量中,FINISH先获取当前时间,再把变量里的开始时间相应寄存器,求两者的差值,这个过程中的借位判断较为复杂。
求完差值之后就利用INT21H的2号功能输出HH:
MM:
SS:
MS。
三、程式设计框图
四、源程序清单
;MainProgram:
CODESEGMENT
MESSDB'THEPROGRAMRUNNINGTIMEIS:
$'
TIME1DW0
TIME2DW0
SAVE1DD?
SAVE2DD?
SAVE3DD?
MAINPROCFAR
ASSUMECS:
CODE,DS:
CODE
START:
PUSHCS
POPDS
MOVAX,3521H;取出(21号类型的)中断向量
INT21H
MOVWORDPTRSAVE1,BX
MOVWORDPTRSAVE1+2,ES
PUSHDS
MOVDX,OFFSETINT_21H
MOVAX,SEGINT_21H
MOVDS,AX
MOVAL,21H;设置中断向量,返回被测程序
MOVAH,25H
INT21H
POPDS
MOVAL,27H;取出中断向量27号中断也是程序结束中断,保存在ES:
BX中
MOVAH,35H
INT21H
MOVWORDPTRSAVE2,BX
MOVWORDPTRSAVE2+2,ES
PUSHDS
MOVDX,SEGINT_27H
MOVDS,AX
MOVDX,OFFSETINT_27H
MOVAL,27H ;设置27号中断向量
MOVAH,25H
INT21H
POPDS
MOVAL,20H ;取出中断向量,20号中断向量也是程序结束中断
MOVAH,35H
INT21H
MOVWORDPTRSAVE3,BX
MOVWORDPTRSAVE3+3,ES
PUSHDS
MOVAX,SEGINT_20H
MOVDS,AX
MOVDX,OFFSETINT_20H
MOVAL,20H ;设置中断向量,返回被测程序
MOVAH,25H
INT21H
POPDS
MOVDX,PGM_LEN/16+20;偏移地址
;movdx,PGM_LEN
;shldx,4
;adddx,20
MOVAX,3100H ;结束并驻留程序
INT21H
MAINENDP ;main子程序结束
;Sub_ProgramandFunctionModule:
INT_20HPROCNEAR ;20H好中断服务程序
CALLFINISH;计算程序结束时间
JMPDWORDPTRCS:
SAVE3
INT_20HENDP
INT_27HPROCNEAR ;27H好中断服务程序
CALLFINISH
JMPDWORDPTRCS:
SAVE2
INT_27HENDP
INT_21HPROCNEAR;21H好中断服务程序,将AH的内容与以下几个数字比较得到中断类型
CMPAH,4BH
JELP1
CMPAH,00H
JLELP2
CMPAH,31H
JELP2
CMPAH,4CH
JELP2
JMPLP3
LP1:
CALLBEGIN
JMPLP3
LP2:
CALLFINISH
LP3:
JMPDWORDPTRCS:
SAVE1
INT_21HENDP
;StartRecordTimeSub_Program:
BEGINPROCNEAR;记录程序开始执行的时间
PUSHCX
PUSHDX
PUSHAX
MOVAH,2CH
INT21H
MOVCS:
TIME1,CX;时间记录1
MOVCS:
TIME2,DX;时间记录2
POPAX
POPDX
POPCX
RET;返回被测程序
BEGINENDP
;CalculatandExportFormattedTimeSub_Program:
FINISHPROCNEAR
PUSHAX
PUSHBX
PUSHCX
PUSHDX
CALLTIME_SUB;调用时间计算子程序
MOVDX,OFFSETMESS ;输出提示信息
MOVAX,SEGMESS
MOVDS,AX
MOVAH,09H
INT21H
MOVAX,CS:
TIME1
ANDAX,0FF00H
XCHGAH,AL
CALLVIEW
MOVDL,':
'
MOVAH,02H
INT21H
MOVAX,CS:
TIME1
ANDAX,00FFH
CALLVIEW
MOVDL,':
'
MOVAH,02H
INT21H
MOVAX,CS:
TIME2
ANDAX,0FF00H
XCHGAH,AL;清楚AH
CALLVIEW;调用显示程序
MOVDL,'.'
MOVAH,02H
INT21H
MOVAX,CS:
TIME2
ANDAX,00FFH
CALLVIEW
POPDX
POPCX
POPBX
POPAX
RET
FINISHENDP
;DisplayTimeSub_Program:
显示程序
VIEWPROCNEAR
PUSHCX
PUSHDX
MOVCL,10
DIVCL
PUSHAX
MOVDL,AL
ADDDL,30H
MOVAH,2
INT21H
POPAX
MOVDL,AH
ADDDL,30H
MOVAH,2
INT21H
POPDX
POPCX
RET
VIEWENDP
;CalculatTimeSub_Program:
计算时间差
TIME_SUBPROCNEAR
MOVAH,2CH
INT21H
MOVBX,CS:
TIME2
CMPDL,BL
JGELOP1
DECDH
ADDDL,100
LOP1:
SUBDL,BL
CMPDH,BH
JGELOP2
DECCL
ADDDH,60
LOP2:
SUBDH,BH
MOVBX,CS:
TIME1
CMPCL,BL
JGELOP3
DECCH
ADDCL,60
LOP3:
SUBCL,BL
SUBCH,BH
MOVCS:
TIME1,CX
MOVCS:
TIME2,DX
RET
TIME_SUBENDP
PGM_LENEQU$-MESS
CODEENDS
ENDSTART
五、程式调试结果及分析
下图是运行了驻留程式之后再打开DOS系统中DEBUG功能对其进行测试。
在运行了驻留程式马上会出现一个时间,这是驻留程式本身结束提取系统时间减去0,也就是本机时间。
下图是打开delay程序并随意操作或者挂起一段时间后退出,发现输出了delay运行的总时间0小时0分4秒7毫秒(包括delay的挂起时间)。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 汇编 测量 任意 程序 运行 时间