【VB开源代码栏目提醒】:网学会员VB开源代码为您提供用汇编语言测量任意程序的运行时间 - 期刊论文参考,解决您在用汇编语言测量任意程序的运行时间 - 期刊论文学习中工作中的难题,参考学习。
2004年第9期 福建电脑 用汇编语言测量任意程序韵运行B寸阃 焦铬李冬娥李浪邹超君 (衡阳师范学院计算机科学摹,湖南衡阳421008) 【摘要】用t编语言编写的程序
代码少,执行耐佩短,本文舟颦的方法用£缩语言涮量程序曲运行时俑是评价 算法的时问复杂度的一种依据,是测试软件可靠性的重要因素之一。
培出了用汇磐语言实理的辣程序。
【美麓词】汇箱语言程序运行时闸 一、引育 一Ⅱ.t口mlh n啊如.雠 汇编语言是计算机系统提供给用户的最快、最有效的语言.也是能对硬件直接编程的语盲。
因此,对空间和时间要求 一d.21h mW也.25ll很高的程序,或需要直接控制硬件的程序,必须使用汇编语言 h 21h进行程序设计。
{〔编语言程序设计是
计算机类专业的重要专 p叩由业基础课,是从事计算机研究与应用,特别是软件研究的基础。
m盯d.27ll mⅣ出.I孙虽然它井不象高级语言如VB、Vc那样容易使用,但它汇编后 缸21h的目标
代码步,执行时间短等优点是其他语言所无法取代的. mw_“pt●m。
k所以它多用于那些要求运行效率高、实时性很强的系统程序和 mw_州p口-_吐+2.∞应用程序的编制.例如自动控制等方面,所以{亡编语言是非常 Dl曲d.重要的。
mwm.qhm 给出如下定义:。
软件可靠性是软件系统在规定的时间内 m一出.“及规定的环境条件下.完成规定功能的能力”。
根据这个定义。
一^.dbH四 mwd.27ll规定的时间是
软件可靠性包吉的—个重要的因索。
—ahm 软件可靠性只是体现在其运行阶段,所以将“运行时间”作 h 21h为“规定的时间”的度量。
“运行时间”包括软件系统运行后工 ”m Twrd.20h作与挂起(开启但空闲)的累计时间。
I田v丑h.朔I 算法运行所需要时间资源的量称为时间复杂性。
根据程 jnt 21h序的运行时间可以用来评价--+舅t法的效率。
lbw州d F口_m.k 二、解决思路: In胛_DdF口_—}+3,日 DOS操作
系统中,程序的调人运行及程序的终止均是通过 口lEh d‘相应的软中断来实现的。
若窃取相应软中断.记录下程序开始 m_Ⅱ,_gh●№词人运行的时间及程序终止的时间,则可测量出该程序运行的 一女.Ⅱ 一矗.o蜘th-20h时间。
—d.20b 与之相关的软中断分别为: 一“.2% 程序开始执行:4BH号系统功能调用(INT2iH) h 21h
程序结柬:INT 20H ”m INT 27H mwdx.p聃-kn^6+∞ l设置眭留区的大小 肿r缸.3l∞h ;结束井驻留内存。
^Lz返回再 OOH,31H、4el-I号系统功能调用(Ⅱ虹‘21H) 缸Z1h 三、实现 日mdm 1、主程序
设计: 2、子程序废功托模袭设计 韧始化
代码段、数据段。
设置中断向量、取中断向量.结束 h-20h口∞c地o并驻留内存。
Ⅻ“ ∞&_日Ⅲ 如d哪dF0口:I∞ hm20hEIdD ∞瞄函’1dkqqp口咐n∞ni罐自h越:¥’ tmd dⅣ0 m27b—n目r Ⅻdw0 c山fini出 _越由t 坤小_耐pHa:_州: I帕埘? h卜27b cn曲 -嘶3埘? mt-21h讲∞n重 H女mk 唧.h.4№ ;装配/蕾晰程序 __mto:∞矗.由:讪 FⅥ ;相等射记录程序开精运行的时间_眦:pI吐a qlh。
O% ”^ jk牡 岫w舡.3髭lh ;取中断向量。
把由AL指定的中断类型的中断 呻.h,31h ;相等列结束井驻留内存 缸21h ‘向量从中斯向量表中取蜀Es:硪中 扣耻 m,m矗d p日-耐.h 血p吐.4血 一-一呻蛐d+2.- ‘设置中所向量 p耻 ;憾同码觜求 m^ H::& l-甩kI虹珊.记i}程序坍黼行的时同 福建电脑 2004年第9期 j.moI鸪 “^ 艟:dl自mlah }翻甩Bn轴子程序,计算运行时间.簟出 ∞d.10 lF31】Ⅱpdvxl-d Pta}__d dhd klt-21h刊口 岫Ⅱ 记录程序开始诃人运行时间子程序 mwd.d 岫pine TⅢ a越m.,嘶 加由d m州山.2 m dx 缸21h mⅡ ⅫⅡ T町rah.2由 I取时同中断 Ir啊d.出 h21h ·甜m.,嘶 册儡盘以。
口 l存时同,a%cL=时:分 InⅣ丑b.2 肼恤血,吐.血 IIX’tlDL=杪11n∞秒 缸21h p印强 ”n 目☆ p叩匹 p甲匹 fB 麻 *“D be由劬 计算程序运{亍时闾子程序 计算运行时间,按格式输出(聃:MM:鞋00)于程序 dn}mb一一 6m女一neⅡ m_ah,2dl ;取时目 口L曲晖 血21h “hx n埘k.o:dn正 口1日b任 ∞∞m.U ;计算1/100杪 “dx 忙k一 Ⅻtim-at0J 呻dx.dbd口l瞄 “d.1∞ D1w“’嘲m∞● b一:amm.U fr”v如.牡 a坤dh.岫 ;计算秒 ∞n.∞h j¥蝴 …∞:611t【 h 21b 血d“.O曲0b b吐:^m凸.砧 ∞dg出.d Tn_k.∞i6md 础Ⅵ哪 ∞d,H #计算分 m盯棚.‘:’ 诤嘟 一女.∞h …∞:6f目 Lat21K nd“.% “d.∞ k口:舶bd.H ‘计算耐 四“I.“ ^m d1.bh 四hm.^ 髓Um喇 I存结果 蛐Fm.‘:’ I|研由.62h 四o:6r口& 缸21h ∞d“.四h drn}幽d由 p¨k·q¥一m- 咖d.d 弹ⅡⅥ研 四、运行结果 一m.‘.’ 若把以上源程序命名为nmtlme.锄文件。
经过MA曩{ 一d.∞h 和LINK后生成D匝文件。
运行nm血圯.强e,然后输入要测试 lint2lh n哪Ⅱ.∞tH口皿 的可执行程序,程序执行完之后,立即在屏幕上显示程序运行 ●d“.m 的时问包括软件系统运行后
工作与挂起(开启但空闲)的累计 Ⅻ“日r 时间。
下图测量的是运行DEBUG的时阃: ”n p口pa Mh pop矗 埘 &i出.日l曲 显示程序运抒时阿子程序 q_D1w Tw 口l曲压 参考文献n】沈羹明,洼丰蝉蝻著IBM Pc汇蝙谱言程序设计〔M】北京:清率太荦出月罐.2∞o【2】王晓东壕著计算机算击谩计与分析〔M】北京:电子工业出艟社,211111.〔3】P曲Abdl“口珈Pc A暑椎nbbk蝌m¨hF町rrl吨”P1日曲e—I-N1.h..1997.