微机原理与汇编语言_实验_循环程序设计实验

微机原理与汇编语言_实验_循环程序设计实验

ID:36048271

大小:204.50 KB

页数:12页

时间:2019-04-30

微机原理与汇编语言_实验_循环程序设计实验_第1页
微机原理与汇编语言_实验_循环程序设计实验_第2页
微机原理与汇编语言_实验_循环程序设计实验_第3页
微机原理与汇编语言_实验_循环程序设计实验_第4页
微机原理与汇编语言_实验_循环程序设计实验_第5页
资源描述:

《微机原理与汇编语言_实验_循环程序设计实验》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、微机原理与汇编语言实验报告姓名xxx学号xxxxxx专业班级计科x班课程名称微机原理与汇编语言实验日期2014.10.22实验名称循环程序设计实验成绩一、实验目的1、掌握循环程序的设计方法。2、掌握比较指令、转移指令和循环指令的使用方法。3、进一步掌握调试工具的使用方法。二、实验内容1、实验原理(1)键盘输入的十进制数如368在计算机中是以33H,36H,38H形式存放的,如何将它们转换为一个二进制数101110000B,以便对累加循环的循环次数进行控制是本程序首先要解决的问题(2)累加结果为一个16位的二

2、进制数,为了显示结果,必需把它们转换为十进制数2、实验步骤(1)流程图从键盘输入一个十进制数,并将其转换为二进制数,存放在AX中开始结束素、、(CX)-1=0累加循环次数送CX(MOVCX,AX)AX清0(AX中存放累加和)BX送1(BX存放每次循环累加的数,每循环一次,BX值加1)ADDAX,BXINCBX累加和(在AX中)转换为十进制数并显示YN(2)实验源码.modelsmall.stack;定义堆栈段.data;定义数据段inf1db"Pleaseinputanumber(1-627):$"inf2

3、db0ah,0dh,"1+2+......+$"ibufdb7,0,6dup(0)obufdb6dup(0).codestart:movax,@datamovds,axmovdx,offsetinf1;将屏幕输入的十进制数(存放于ibuf)转化为二进制数存储于ax中movah,09hint21hmovdx,offsetibufmovah,0Ahint21hmovcl,ibuf+1movch,0movsi,offsetibuf+2movax,0loop1:movdx,10muldxandbyteptr[si]

4、,0Fhaddal,[si]12adcah,0incsilooploop1movcx,ax;计算1+2+3+...+nmovax,0movbx,1loop2:addax,bxincbxlooploop2movdi,offsetobuf+6;将ax中的二进制数转换为十进制数并以ascii的形式存于obufmovbyteptr[di],'$'movbx,10loop3:movdx,0divbxadddl,30hdecdimov[di],dlorax,axjnzloop3decdimov[di],'='movdx

5、,offsetinf2;结果输出movah,09hint21hmovcl,ibuf+1;显示nmovch,0movsi,offsetibuf+2loop4:movdl,[si]adddl,30hincsimovah,02hint21hlooploop4movdx,dimovah,09hint21hmovax,4c00hint21hendstart实验习题1源码:;multi-segmentexecutablefiletemplate..modelsmall;定义程序的存储模式(small表示小型模式).st

6、ack;定义堆栈段12.data;定义数据段inf1db0ah,0dh,"1+2+......+$"obuf1db6dup(0)obuf2db7dup(0);除了六位数字外还要有一个=号.codestart:movax,@datamovds,axmovdx,offsetinf1;输出1+2+......+movah,09hint21hmovax,0;计算1+2+3+...+nmovbx,1loop1:addax,bxincbxcmpax,60000jbeloop1pushax;将最终结果备份入栈pushbx

7、;将n备份popcxmovdi,offsetobuf1+5;将cx二进制数转换为十进制数并以ascii的形式存于obuf1movbyteptr[di],'$'movax,cxmovbx,10loop2:movdx,0divbxadddl,30hdecdimov[di],dlorax,axjnzloop2movdx,di;输出nmovah,09hint21hpopaxmovdi,offsetobuf2+6;将ax中的二进制数转换为十进制数并以ascii的形式存于obuf2movbyteptr[di],'$'m

8、ovbx,10loop3:movdx,0divbxadddl,30hdecdimov[di],dl12orax,axjnzloop3decdimov[di],'='movdx,di;=输出结果movah,09hint21hmovax,4c00hint21hendstart实验习题2源码:;multi-segmentexecutablefiletemplate..modelsmall;定义程序的存储模式(small

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

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

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