2_字符及字符串输入输出与顺序程序设计实验

2_字符及字符串输入输出与顺序程序设计实验

ID:39547342

大小:50.00 KB

页数:4页

时间:2019-07-06

2_字符及字符串输入输出与顺序程序设计实验_第1页
2_字符及字符串输入输出与顺序程序设计实验_第2页
2_字符及字符串输入输出与顺序程序设计实验_第3页
2_字符及字符串输入输出与顺序程序设计实验_第4页
资源描述:

《2_字符及字符串输入输出与顺序程序设计实验》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、2.2字符及字符串输入输出与顺序程序设计实验2.2.1实验目的1、学习和掌握字符及字符串的输入输出方法。2、掌握顺序程序的设计方法。3、进一步掌握调试工具的使用方法。2.2.2实验预习要求1、复习DOS功能调用中用于字符输入(功能号01H)、字符输出(功能号02H)、字符串输入(功能号为0AH)以及字符串输出(功能号09H)的调用方法(详见教材5.5.6)。2、复习BCD码运算调整指令。3、根据“2.2.3实验内容”中给出的源程序框架编写完整的源程序,以便实验时调试。4、从“2.2.4实验习题”中任选一道题目,编写源程序,以便上机调试。2.2.3实验内容从键

2、盘输入两个一位十进制数,计算这两个数之和,并将结果在屏幕上显示出来。1、问题分析比如使用功能号为01H的用于实现单个字符输入的DOS功能调用接收从键盘输入的两个十进制数8和6,这时计算机内部得到的是这两个数的ASCII码值38H和36H。由于数字0~9的ASCII码值与其代表的数值之间相差30H,因此将其减去30H即可得到以非压缩型BCD数形式表示的十进制数08H和06H,使用ADD指令对它们进行相加后结果为0EH(00001110B),显然需要用非压缩型BCD数加法调整指令对ADD的运算结果进行调整,调整后得到两个非压缩型BCD数01H和04H,将它们分别

3、加上30H后变为其对应的ASCII码31H(1的ASCII码)和34H(4的ASCII码),然后调用功能号为02H用于单个字符输出的DOS功能调用将它们显示出来。综上所述,需要考虑以下问题。(1)从键盘输入一个一位十进制数的方法通过功能号为1的DOS功能调用实现从键盘输入一个字符,格式如下:MOVAH,01HINT21H;此时程序等待用户键入,键入字符的ASCII码值存在AL中SUBAL,30H;减去30H后得到键入数字所代表的数值(2)提示信息字符串的显示通过功能号为9的DOS功能调用实现字符串显示,注意字符串的最后一个字符必需为’$’。指令格式如下:MO

4、VDX,OFFSETINFOR1;INFOR1为在数据段中定义的要显示的字符串MOVAH,09HINT21H(2)非压缩型BCD数加法调整指令的使用设从键盘输入的数值已存放在寄存器AL,BL中,可用下列程序完成数据相加和调整操作:XORAH,AHADDAL,BLAAA;执行该指令后,AH中为和的十位上的数字,AL中为个位上的数字请读者考虑,为什么要使用指令“XORAH,AH”,不用行否?(3)计算结果的显示执行完AAA指令后,只需分别将AH(十位上的数值)和AL(个位上的数值)加上30H,并依次调用功能号为2的DOS功能调用来显示字符。具体指令代码如下:PU

5、SHAXMOVDL,AHADDDL,30HMOVAH,02HINT21HPOPAXMOVDL,ALADDDL,30HMOVAH,02HINT21H1、源程序框架2、DATASEGMENT3、INFOR1DB"PleaseInputtheFirstData(<10):$"4、INFOR2DB0AH,0DH,"PleaseInputtheSecondData(<10):$"5、INFOR3DB0AH,0DH,"TheResultis:$"6、DATAENDS7、CODESEGMENT8、ASSUMECS:CODE,DS:DATA9、START:MOVAX,DAT

6、A10、MOVDS,AX11、MOVDX,OFFSETINFOR112、MOVAH,09H13、INT21H14、MOVAH,01H15、INT21H16、SUBAL,30H17、MOVBL,AL18、MOVDX,OFFSETINFOR219、MOVAH,09H20、INT21H21、MOVAH,01H22、INT21H23、SUBAL,30H24、XORAH,AH25、ADDAL,BL26、AAA27、PUSHAX28、MOVDX,OFFSETINFOR329、MOVAH,09H30、INT21H31、POPAX32、PUSHAX33、MOVDL,AH1、

7、ADDDL,30H2、MOVAH,02H3、INT21H4、POPAX5、MOVDL,AL6、ADDDL,30H7、MOVAH,02H8、INT21H9、MOVAH,4CH10、INT21H11、CODEENDS12、ENDSTART13、程序调试源程序编写完成后,先静态检查,无误后,对源程序进行汇编和连接,生成可执行文件。在DOS命令提示符下运行该程序,分析运行结果是否正确。若结果不正确,使用DEBUG对其进行调试。2.2.4实验习题1、从键盘输入两个一位十进制数,计算这两个数之积,并将结果在屏幕上显示出来。14、DATASEGMENT15、INFOR1D

8、B"PleaseInputtheFirstData(

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

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

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