微机原理实验报告——4位BCD码相加

微机原理实验报告——4位BCD码相加

ID:41126482

大小:34.00 KB

页数:4页

时间:2019-08-17

微机原理实验报告——4位BCD码相加_第1页
微机原理实验报告——4位BCD码相加_第2页
微机原理实验报告——4位BCD码相加_第3页
微机原理实验报告——4位BCD码相加_第4页
资源描述:

《微机原理实验报告——4位BCD码相加》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、一、实验名称:4位BCD码相加二、实验目的:学习字符型数据与数值型数据的相互转换方法,了解BCD码输入及相加的方法。三、实验内容:①在数据段中定义3个变量想x1、x2、x3,用于存储从微机键盘上输入的两个4位BCD码(低位数据占高地址存放),x3用于存储这两个BCD码的和;②从键盘输入两个4位BCD码,检查是否为数字键,非数字键不接收;③将输入的两个4位字符型数据转换为4位非压缩型BCD码存于数据段中的变量中;④将两个4位非压缩型BCD码相加,将结果利用INT21H的2号功能显示在微机屏幕上。四、程序流程图

2、:定义堆栈段、数据段调用输入子程序输入x1并存储使用INT21H的2号功能显示“+”调用输入子程序输入x2并存储使用INT21H的2号功能显示“=”将x1和x2相加,结果做十进制调整使用INT21H的2号功能将结果输出38152115第4页返回DOS五、结论:键盘上输入非数字时不显示,输入四位数字后显示“+”,接着再输入四位数字后,显示“=”,并将两个四位数相加的结果用五位数字显示在屏幕上。六、实验心得:经过这次的实验,新的实验收获主要有以下几点:首先,若在输入端有输入条件,比如键入某些值有效某些值无效,在

3、使用INT21H功能时应先用8号功能输入但不回显,程序内部判断条件是否成立,最后再使用2号功能在屏幕上显示;第二,在做算术运算时,要使用数字的真实二进制,因此再输入数字后,应将其转换为相应二进制再存储;最后,在显示运算结果时,进位也要显示出来,所以在数据段定义时就需留足结果的位数。附:程序清单STACKSEGMENTSTACKDB100DUP(?)STACKENDSDATASEGMENTX1DB4DUP(?)X2DB4DUP(?)X3DB5DUP(?)DATAENDSCODESEGMENTASSUMECS:

4、CODE,DS:DATA,SS:STACKMAINPROCMOVAX,DATAMOVDS,AXMOVBX,OFFSETX1MOVCX,4NEXT1:CALLINPUT38152115第4页ANDAL,0FHMOV[BX],ALINCBXLOOPNEXT1MOVAH,2MOVDL,'+'INT21HMOVBX,OFFSETX2MOVCX,4NEXT2:CALLINPUTANDAL,0FHMOV[BX],ALINCBXLOOPNEXT2MOVAH,2MOVDL,'='INT21HMOVSI,OFFSETX1+3

5、MOVDI,OFFSETX2+3MOVBX,OFFSETX3+4MOVCX,4ORCX,CXNEXT3:MOVAL,[SI]ADCAL,[DI]AAAMOV[BX],ALDECSIDECDIDECBXLOOPNEXT3MOVAL,0ADCAL,ALMOV[BX],ALMOVCX,5NEXT4:MOVDL,[BX]38152115第4页ADDDL,30HMOVAH,2INT21HINCBXLOOPNEXT4MOVAH,4CHINT21HMAINENDPINPUTPROCAGAIN:MOVAH,8INT21HC

6、MPAL,'0'JBAGAINCMPAL,'9'JAAGAINMOVAH,2MOVDL,ALINT21HRETINPUTENDPCODEENDSENDMAIN38152115第4页

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

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

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