- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
..
字符及字符串输入输出与次序程序设计实验
实验报告
实验目的
1、学习和掌握字符及字符串的输入输出方法。
2、掌握次序程序的设计方法。
3、进一步掌握调试工具的使用方法。
实验预习要求
1、复习DOS功能调用顶用于字符输入(功能号01H)、字符输出(功能号02H)、字符串
输入(功能号为0AH)以及字符串输出(功能号09H)的调用方法(详赐教材)。
2、复习BCD码运算调整指令。
3、依据“实验内容”中给出的源程序框架编写完好的源程序,以便实验时调试。
4、从“实验习题”中任选一道题目,编写源程序,以便上机调试。
实验内容
从键盘输入两个一位十进制数,计算这两个数之和,并将结果在屏幕上显示出来。
1、问题剖析
比方使用功能号为01H的用于实现单个字符输入的DOS功能调用接收从键盘输入的
两个十进制数8和6,这时计算机内部获得的是这两个数的ASCII码值38H和36H。因为
数字09的ASCII码值与其代表的数值之间相差30H,所以将其减去30H
即可获得以非压
缩型BCD数形式表示的十进制数08H和06H,使用ADD指令对它们进行相加后结果为
0EH),明显需要用非压缩型BCD数加法调整指令对ADD的运算结果进行调
整,调整后获得两个非压缩型BCD数01H和04H,将它们分别加上30H
后变成其对应的
ASCII码31H(1的ASCII码)和34H(4的ASCII码),而后调用功能号为02H用于单个
字符输出的DOS功能调用将它们显示出来。综上所述,需要考虑以下问题。
(1)从键盘输入一个一位十进制数的方法
经过功能号为1的DOS功能调用实现从键盘输入一个字符,格式以下:
MOVAH,01H
INT21H;此时程序等候用户键入,键入字符的ASCII码值存在AL中
SUBAL,30H;减去30H后获得键入数字所代表的数值
(2)提示信息字符串的显示
经过功能号为9的DOS功能调用实现字符串显示,注意字符串的最后一个字符必要为’$。’指令格式以下:
MOVDX,OFFSETINFOR1;INFOR1为在数据段中定义的要显示的字符
串
;.
..
MOVAH,09H
INT21H
(2)非压缩型BCD数加法调整指令的使用
设从键盘输入的数值已寄存在寄存器AL,BL中,可用以下程序达成数据相加和调整操作:
XORAH,AH
ADDAL,BL
AAA;
履行该指令后,AH中为和的十位上的数字,AL中为个位上的数字请读者考虑,为何要使用指令“XORAH,AH”,不用行否?
(3)计算结果的显示
履行完AAA指令后,只要分别将AH(十位上的数值)和AL(个位上的数值)加上
30H,并挨次调用功能号为2的DOS功能调用来显示字符。详细指令代码以下:
PUSH
AX
MOV
DL,AH
ADD
DL,30H
MOV
AH,02H
INT
21H
POP
AX
MOV
DL,AL
ADD
DL,30H
MOV
AH,02H
INT
21H
2、源程序框架
DATA
SEGMENT
INFOR1
DBPleaseInputtheFirstData(10):$
INFOR2
DB0AH,0DH,PleaseInputtheSecondData(10):$
INFOR3DB0AH,0DH,TheResultis:$;0DH和0AH分别为非显示
字符回
;车和换行的ASCII码值,美圆符号“$”为字符串结束标记,不可以省略。
DATA
ENDS
CODE
SEGMENT
ASSUMECS:CODE,DS:DATA
START:MOV
AX,DATA
MOV
DS,AX
显示提示信息INFOR1并从键盘接收一个字符的指令序列
SUB
AL,30H
MOV
BL,AL
显示提示信息INFOR2并从键盘接收一个字符的指令序列
SUBAL,30H
乞降并调整指令序列
;.
..
PUSHAX
POPAX
显示提示信息INFOR3的指令序列
PUSHAX
显示十位及个位上数字的指令序列
MOVAH,4CH
INT21H
CODEENDS
ENDSTART
3、程序调试
源程序编写达成后,先静态检查,无误后,对源程序进行汇编和连结,生成可履行文
件。在DOS命令提示符下运转该程序,剖析运转结果能否正确。若结果不正确,使用DEBUG对其进行调试。
实验习题
1、设a,b,c,d为四个压缩型BCD数,它们被寄存在内存dbcd开始的4个储存单元中,计
算a+b+c+d,并将结果在屏幕上显示出来(注意压缩型BCD数的表示方法:十进制数38表示成压缩型BCD数时应写成38H)。程序编写达成并运转正确后,翻开源程序,改变
a,b,c,d的内容,而后从头进行汇编、连结并运转程序,检查程序运转结果与手工计算结果能否符合。下边给出几组实验用数据:
a=11,b
您可能关注的文档
- 绥滨县高中20182019学年高二9月月考化学试题解析.doc
- 花椒贮藏保鲜技术的研究.doc
- 小班儿歌教案.doc
- 无线网络选择题.doc
- 高三化学《物质的量》单元测试.doc
- 眼镜光学中心实习报告1.doc
- 吴梦莹教学设计新部编版(20211204191801).doc
- 关于杀鱼作文.doc
- 六年级数学下学期期中测试卷(B卷)冀教版.doc
- 工程结算工作方案模板.doc
- 2025至2030中国钢轨用轻质复合材料行业调研及市场前景预测评估报告.docx
- 2025至2030中国对薄荷3,8二醇(PMD)行业细分市场及应用领域与趋势展望研究报告.docx
- 2025至2030中国弹道头盔行业细分市场及应用领域与趋势展望研究报告.docx
- 2025至2030中国2,6二羧基吡啶市场前景规划及未来运营现状分析报告.docx
- 2025至2030中国玻璃温度计行业市场深度研究与战略咨询分析报告.docx
- 2025至2030中国地形感知和警告系统(TAWS)行业调研及市场前景预测评估报告.docx
- 2025至2030中国发电技术行业调研及市场前景预测评估报告.docx
- 2025至2030中国多离子束显微镜行业细分市场及应用领域与趋势展望研究报告.docx
- 2025至2030中国储能技术行业市场占有率及有效策略与实施路径评估报告.docx
- 2025至2030中国丙酸氟替卡松吸入器行业市场占有率及有效策略与实施路径评估报告.docx
原创力文档


文档评论(0)