- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机科学与技术系
实 验 报 告
专业名称 计算机科学与技术
课程名称 微机原理与接口技术
项目名称 子程序调用实验
班 级
学 号
姓 名
同组人员 无
实验日期 2016/12/5
一、实验目的与要求:
(简述本次实验要求达到的目的,涉及到的相关知识点,实验的具体要求。)
1、熟悉BCD码的调整指令。
2、熟悉ASCII转换成数字的方法。
3、熟悉压缩的BCD码转换成ASCII字符的方法。
4、熟悉子程序的定义和调用。
二、实验内容
(根据本次实验项目的具体任务和要求,完成相关内容,可包括:实验目的、算法原理、实验仪器、设备选型及连线图、算法描述或流程图、源代码、实验运行步骤、关键技术分析、测试数据与实验结果、其他 )
内容:
从微机键盘上输入4位被加数、加数,并显示在信息窗口中,实现双字节的BCD码(四位数)的加法,结果显示在信息窗口中,其中获得BCD码功能,高位0消隐并显示最后结果功能,将压缩的BCD码转换成ASCII字符,使用子程序调用实现。
原理:首先输入被加数,然后调用GetBCDKey函数得到双字节十进制被加数,同样的方法处理加数,然后将两个数带进位相加,得到的数高位0消隐显示出来。这里的得到双字节的十进制数是关键,还需要有将一个字节的压缩BCD码转换成两个字节数字的函数。
流程图:
三、实验分析与小结:
(实验过程中的问题分析、产生的原因以及解决方法;实验结果分析; 有待优化思路)
程序分析:
.MODEL TINY
.STACK 100
.DATA
BUFFER DB 10 DUP(?);BUFFER存放8个不确定数
augend DB 2 DUP(?) ;被加数
addend DB 2 DUP(?) ;加数
msg1 DB 0DH,0AH,请输入被加数: $
msg2 DB 0DH,0AH,请输入加数: $
msg3 DB 0DH,0AH,结果: $;msg3存放结果
;0DH和0AH分别是回车和换行的ASCII码,
;$是DOS功能调用INT 21H中9号功能要求的要显示字符串的结束标志
.CODE
START: MOV AX,@DATA
MOV DS,AX
MOV ES,AX
CLD ;方向标志位清零 ;CLD与STD是用来操作方向标志位DF(Direction Flag)。
;CLD使DF复位,即DF=0,STD使DF置位,即DF=1.用于串操作指令中
NOP ;空操作 ;NOP指令只使程序计数器PC加1,所以占用一个机器周期
;其目的为保证写、读之间有个稳定时间
MOV AH,00H
MOV AL,03H
INT 10H ;清屏
START1: MOV AH,09H ;9号调用DX指向被加数的首地址,输出提示信息
LEA DX,msg1 ;将源操作数给出的有效地址传送到指定的的寄存器中
INT 21H
LEA DI,augend ;DI-augend的首地址
MOV CX,4 ;按键次数
CALL GetBCDKey ;得到双字节十进制数(被加数)
JNB START2 ;没有输入任何数字,结束 CF=0
MOV AH,09H ;9号调用DX指向加数的首地址
LEA DX,msg2 ;将源操作数给出的有效地址传送到指定的的寄存器中
INT 21H
LEA DI,addend ;di指向加数
MOV CX,4 ;按键次数
CALL GetBCDKey ;得到双字节十进制数(加数)
JNB START2 ;没有输入任何数字,结束
MOV AL,augend ;被加数的低8位送al
ADD AL,addend ;al与加数的低位相加的结果送al
DAA ;BCD算术运算调整,转换为压缩型BCD
XCHG AL,AH ;高位与低位互换
MOV AL,augend + 1
ADC AL,addend + 1 ;高位
DAA
XCHG AL,AH
MOV BL,0
ADC BL,0 ;进位 bl存放的是进位 bl和ax相加是最后的结果
STD ;方向标志置1
LEA DI,BUFFER+4 ;存放显示结果
CALL B1toB2 ;低位
MOV AL,AH
CALL B1toB2 ;高位
MOV AL,BL
OR AL,30H ;转换成数字
STOSB ;存数
LEA SI,BUFFER
MOV CX,5
CALL BlackDisplay ;将高位0消隐
MOV AH,09H
LEA DX,msg3 ;9号调用DX指向结果的首地址
INT 2
您可能关注的文档
- 资本论读后感3000 资本论读后感5000字.doc
- 资本运营案例分析.doc
- 资本运营心得体会.doc
- 资产评估服务方案.docx
- 资产证券化的运行机制及风险防范.doc
- 资金管理办法.docx
- 资料汇总特辑 (1).doc
- 资质证书使用服务协议(员工).doc
- 紫外、可见分光光度计波长示值误差测量结果的不确定度评定与表示.doc
- 紫外光谱在有机化学中的应用探析.doc
- 部编版一年级语文下册第四单元《8 夜色》教学课件(2025年春-新编教材).pptx
- 江苏省盐城市五校2024-2025学年高一下学期4月期中联考数学试卷(含答案).pdf
- 2025年高一语文教师工作总结简单版(六).docx
- 第12课《台阶》课件 2024—2025学年统编版语文七年级下册(共39张PPT).pptx
- 部编版一年级语文下册第四单元《语文园地四》教学课件(2025年春-新编教材).pptx
- 部编版一年级语文下册第四单元《9 端午粽》教学课件(2025年春-新编教材).pptx
- 指导技能的关键要素与提升的策略研究与分享.docx
- 湖南省永州四中直升班2025届高三(下)适应性数学试卷(含答案).pdf
- 湖北省荆荆宜襄·四地七校联盟2024-2025学年高一(下)期中联考数学试卷(含答案).pdf
- 2025年04月17日袁荣的初中历史组卷.docx
文档评论(0)