昆明理工大学 汇编 实验一 分支程序设计

昆明理工大学 汇编 实验一 分支程序设计

ID:18807074

大小:523.45 KB

页数:9页

时间:2018-09-25

昆明理工大学 汇编 实验一 分支程序设计_第1页
昆明理工大学 汇编 实验一 分支程序设计_第2页
昆明理工大学 汇编 实验一 分支程序设计_第3页
昆明理工大学 汇编 实验一 分支程序设计_第4页
昆明理工大学 汇编 实验一 分支程序设计_第5页
资源描述:

《昆明理工大学 汇编 实验一 分支程序设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、昆明理工大学信息工程与自动化学院学生实验报告(2011—2012学年第1学期)课程名称:汇编与微机接口开课实验室:信自楼机房4452011年10月19日年级、专业、班计科093学号200910405310姓名孙浩川成绩实验项目名称分支程序设计指导教师袁梅宇教师评语该同学是否了解实验原理:A.了解□B.基本了解□C.不了解□该同学的实验能力:A.强□B.中等□C.差□该同学的实验是否达到要求:A.达到□B.基本达到□C.未达到□实验报告是否规范:A.规范□B.基本规范□C.不规范□实验过程是否详细记录:A.详细□B.一般□C.没有□教师签

2、名:年月日一、上机目的及内容(1)熟悉汇编语言程序设计的开发环境、格式以及汇编过程;(2)Debug的主要命令(结合教材第四章的例子),熟练掌握Debug命令的U命令、D命令、R命令、G命令、T命令、Q命令等;(3)掌握分支程序的设计方法;(4)输入并汇编折半查找程序;(5)观察并记录运行结果。二、实验原理及基本技术路线图(方框原理图或程序流程图)折半查找程序原理:1.初始时,下界l为0,少年宫街h为n-1,即查找范围是整个数组。2.如果下界l大于上界h,则查找范围为空,查找结束。这种情况下,数组中没有a,算法结束。3.去下界l和上界h

3、的中点m,m=(l+h)/2。4.从数组的中点m处取出一个数组R[m],和a进行比较。5.如果R[m]等于a,则在数组中找到a,下标为m。算法结束。6.若果R[m]大于a,中点上的数比a大,从中点到上界中的所有数都比a大,修改上界h为m-1。然后跳转到第二步。7.若果R[m]小于a,中点上的数比a小,从下界到中点中的所有数都比a小,修改上界l为m+1。然后跳转到第二步。折半查找程序框图:-9-l=0,h=n-1是L>h否查找失败m=(l+h)/2=查找成功l=m+1h=m-1三、所用仪器、材料(设备名称、型号、规格等或使

4、用软件)1台PC及masm5.0四、实验方法、步骤(或:程序代码或操作过程)1.Debug的主要命令(结合教材第四章的例子),熟练掌握Debug命令的U命令、D命令、R命令、G命令、T命令、Q命令等;STSGSEGMENTSTACK'S'DW32DUP(?)STSGENDSDATASEGMENTADW123BDW456SUMDW?DATAENDSCODESEGMENTMAINPROCFAR-9-ASSUMECS:CODE,DS:DATA,SS:STSG,ES:NOTHINGPUSHDSXORAX,AXPUSHAXMOVAX,DATAMO

5、VDS,AXMOVAX,AADDAX,BMOVSUM,AXRETMAINENDPCODEENDSENDMAIN2.输入并汇编折半查找程序;STACKSGSEGMENTSTACK'S'DW64DUP('ST')STACKSGENDSDATASEGMENTBUFDB30H,31H,32H,33H,34H,35H,36H,37H,38H,39H,41H,42H,43H,44H,45H;有序表COUNTEQU$-BUF;表项数CHARDB?;要查找的数MARKDW0;查找次数PROMPTDB'NOFOUND$';没找到提示信息DATAENDSC

6、ODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACKSGMAINPROCFARMOVAX,DATAMOVDS,AXMOVAH,1;输入要查找数的字符INT21HMOVCHAR,AL;保存要找的数LEASI,BUF;表起始地址,初始;化区间下限(左)MOVCX,COUNTMOVDX,SIADDDX,CX;最后数的地址加1MOVDI,DX;初始化区间上限(右)-9-MOVDX,0CMPAL,[SI];判边界元素movbx,siJBNOFID;小于表中最小数转未找到JEFOUND;是表中最小数转找到CMPAL,[D

7、I-1];判边界元素movbx,di;decbxJANOFID;大于表中最大数转未找到JEFOUND;是表中最大数转找到MOVDX,1;初始化查找次数MOVAL,CHAR;要查找的数C1:MOVBX,SI;循环入口ADDBX,DISHRBX,1;折半CMPAL,[BX];比较JZFOUND;找到转PUSHFCMPBX,SI;指针=下限吗?JZNOFID;若等于表示未找到,转POPFJLLESS;可能在左半区转MOVSI,BX;可能在右半区,调整下限JMPSHORTNEXTLESS:MOVDI,BX;调整上限NEXT:INCDX;查找次数

8、加1JMPC1NOFID:LEADX,PROMPT;显示未找到提示信息MOVAH,9INT21HJMPSHORTEXITFOUND:MOVMARK,DX;保存查找次数PUSHDXMOVAH,2;显示找到的数

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。