贵州大学微机原理(汇编语言)实验报告-Ex02-分支程序实验(共13页).doc

上传人:飞****2 文档编号:8374819 上传时间:2022-03-17 格式:DOC 页数:13 大小:1.09MB
返回 下载 相关 举报
贵州大学微机原理(汇编语言)实验报告-Ex02-分支程序实验(共13页).doc_第1页
第1页 / 共13页
贵州大学微机原理(汇编语言)实验报告-Ex02-分支程序实验(共13页).doc_第2页
第2页 / 共13页
点击查看更多>>
资源描述

《贵州大学微机原理(汇编语言)实验报告-Ex02-分支程序实验(共13页).doc》由会员分享,可在线阅读,更多相关《贵州大学微机原理(汇编语言)实验报告-Ex02-分支程序实验(共13页).doc(13页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精选优质文档-倾情为你奉上实验课程名称 微型计算机原理实验报告 实验项目名称 分支程序实验 专 业 班 级 电子信息科学与技术08级1班 学 生 姓 名 学 号 实 验 成 绩 指导教师签字 理 学 院实验时间:2010年11月1日实验二 分支程序实验1.实验目的(1)掌握分支程序的设计方法。(2)掌握利用DEBUG修改参数、桓公井结果的方法。(3)掌握汇编语言源程序的编辑、汇编、连接及调试过程。2.实验内容(1)编一程序,显示AL寄存器中的两位十六进制数。(2)编写一程序,判别键盘上输入的字符;若是09字符,则显示之;若为AZ或az字符,均显示“c”;若是回车字符(其ASCII码为0DH),

2、则结束程序,若为其它字符则不显示,继续等待新的字符输入。3.实验准备(1)编写实验内容要求的两个程序。(2)写出调试以上程序,即修改程序的参数,检查结果的操作方法。(3)熟悉源程序汇编、连接命令的使用方法及要回答的内容。4.实验步骤(1)用EDIT或其它编辑软件,编写.ASM源程序,例如HEXASC.ASM及DSPKEY.ASM。(2)对其进行汇编及连接,产生.EXE文件。(3)对.EXE文件进行调试运行。用DEBUG调试运行,学会修改AL内容的方法。对DSPKEY.EXE侵入不同的字符,分别进行调试。在MS-DOS下运行这两个.EXE文件。5.实验报告要求(1)画出两个程序的流程图,若要独立

3、编写程序,应开出相应的程序清单。(2)说明本实验是如何利用DEBUG进行调试的。6.参考程序清单(1)显示AL中两位十六进制数程序:;DISPHEX.ASMCODESEGMENTASSUMECS:CODESTART:MOVAL,3EHMOVDL,ALMOV CL,4SHRDL,CLCMPDL,9JBENEXT1ADDDL,7NEXT1:ADDDL,30HMOVAH,2PUSHAX;原程序无此行INT21H;显示高位ASCII码POPAX;原程序无此行MOVDL,ALANDDL,0FHCMPDL,9JBENEXT2ADDDL,7NEXT2:ADDDL,30HMOVAH,2INT21H;显示低位A

4、SCII码MOVAH,4CHINT21H;返回DOSCODEENDSENDSTART实验截图:反汇编如图:生成DISPHEX.EXE文件后,用DEBUG装载此文件,然后单步执行如图:G命令运行结果:可见程序出现了一点点问题,原本AL中存的数据为“3E”但最终结果为“33”,明显错误,在原程序的“显示高位ASCII码”行替换为:PUSH AXINT21H; 显示高位ASCII码POPAX再汇编、联接、运行:G命令执行结果:(2)显示键入字符程序:;DISPKEY.ASMCODESEGMENTASSUMECS:CODESTART:MOVAH,1INT21H;等待键入字符CMPAL,0DH;是否是回

5、车符JZDONE;是则转DONE退出程序CMPAL,0JBNEXTCMPAL,9JACHRUPMOVDL,ALMOVAH,2INT21H;显示09JMPSTARTCHRUP:CMPAL,41HJBNEXTCMPAL,5AHJACHRDNDISPC:MOVDL,CMOVAH,2INT21HNEXT:JMPSTARTCHRDN:CMPAL,61HJBNEXTCMPAL,7AHJANEXTJMPDISPCDONE:MOVAH,4CHINT21H;返回DOSCODEENDSENDSTART实验截图:反汇编结果如图:生成DISPKEY.EXE文件后,用DEBUG装载此文件,然后单步执行如图:输入字母时:

6、输入数字时:本程序可进行适当的功能扩展:例如,当在程序的输入和输出时,可以添加相当的提示语句,程序并不复杂,应用09号功能调用显示字符串就可以了。在输入字符之前提示“Please enter a data from keyboard, if you press enter directly, the program will be over:”,在输出字符时输出提示,如果是字母,提示为“You input a char, is”,如果是数字,提示为“You input a number, is”,如果既不是数字也不是字母时,提示为“You input neither a char nor nu

7、mber, please input again:”并重新输入,直到输入的字符为回车符时结束程序。具体的程序如下:DATASEGMENT;定义数据段INFO1 DB 0DH,0AH,0DH,0AH,Please enter a data from keyboard, if you press enter directly, the program will be over: $INFO2 DB 0DH,0AH,0DH,0AH,You input neither a char nor number, please input again: $INFO3 DB 0DH,0AH,0DH,0AH,Yo

8、u input a char, is $INFO4 DB 0DH,0AH,0DH,0AH,You input a number, is $DATA ENDSSTACKSEGMENT STACKDB 200 DUP(0)STACK ENDSCODESEGMENTASSUME DS:DATA,SS:STACK,CS:CODESTART:MOVAX,DATAMOVDS,AX LEADX,INFO1 ;在屏幕上显示提示信息MOVAH,9INT21HINA:MOVAH,1INT21H;等待键入字符CMPAL,0DHPUSHAX;是否是回车符JZDONE;是则转DONE退出程序CMPAL,0JBOTHER

9、CMPAL,9JACHRUPJMPNUMNUM:LEADX,INFO4 ;在屏幕上显示提示信息MOVAH,9INT21HJMPDISPCHRUP:CMPAL,41HJBOTHERCMPAL,5AHJACHRDNDISPC:LEADX,INFO3 ;在屏幕上显示提示信息MOVAH,9INT21HJMPDISPDISP:POPAXMOVDL,ALMOVAH,2INT21HJMPSTARTOTHER:LEADX,INFO2 ;在屏幕上显示提示信息MOVAH,9INT21HPOPAXMOVDL,ALMOVAH,2INT21JMPINACHRDN:CMPAL,61HJBOTHERCMPAL,7AHJAOTHERJMPDISPCDONE:MOVAH,4CHINT21H;返回DOSCODEENDSENDSTART专心-专注-专业

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 教育教学

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁