- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
汇编语言程序设计上机实验报告(实验四)
一、实验题目、内容及要求:
题目:键盘与显示程序设计
内容:编写子程序嵌套结构程序,要求从键盘输入0~ffffh的十六进制的无符号数,转换为十进制数在屏幕上显示出来。
要求:实验前要作好充分准备,包括程序清单、调试步骤、调试方法,对程序结果的分析等。本实验要求在EDIT下编写完整的汇编语言程;并生成执行文件,运行程序。
编程提示:该程序应由五个程序模块组成,模块层次如图所示。
二、实验时间及地点
日期: 2011/12/5 节次: 7、8 地点: 三、实验目的
通过本实验进一步掌握DOS系统功能调用的方法,掌握循环程序设计的方法;熟练设计循环结构程序。 简述在实验过程中遇到的问题和解决的方法:
遇到的问题:主程序和子程序的格式,使用,连接不会写。
解决办法:开始着笔时只会写数字的比较和转化过程。后来通过看书回忆上课所讲的内容和老师演示,明白了主程序和子程序的格式和连接。知道了要有这程序来总的实现操作数的操作与子程序的调用和子程序来实现各个小功能。本实验中有接受程序(recieve)、显示(disp)、回车换行(enter)、显示一位十进制数(disp_onebit)四个子程序。
遇到的问题:调试中出现乱码问题。
解决办法:通过调试后发现是因为没有定义数据段和没有给数据段赋值。
赋值方式:
dat segment
input dbPlease input your hexadecimal numbers(0-ffff):$
show dbAfter conversion to decimal number is:$
dat ends
cod segment
assume ds:dat,cs:cod
start:mov bx,dat
mov ds,bx
运行结果:(要求用“抓图软件”抓程序的运行结果)
结果分析及实验体会:
结果分析:本实验的要求是将输入的十六进制的数转换为十进制数。本实验在实验三的数制转换基础上加上子程序和主程序将程序完整的。结果是将十六进制的数按ASCII码转化而得的。
体会和总结:
1、了解了主程序与子程序的应用和循环程序的使用方法和格式。
2、主程序和子程序的两种格式:
格式1:
dat segment
main proc far
Call disp1
Call disp2
Call disp3
……
ret
main endp
disp1 proc near
……
ret
disp1 endp
disp2 proc near
……
ret
disp2 endp
disp3 proc near
……
ret
disp3 endp
……
dat ends
格式2:
dat segment
main proc far
Call disp1
Call disp2
Call disp3
……
ret
disp1 proc near
……
ret
disp1 endp
disp2 proc near
……
ret
disp2 endp
文档评论(0)