汇编语言1加到n

汇编语言1加到n

ID:39695008

大小:41.51 KB

页数:5页

时间:2019-07-09

汇编语言1加到n_第1页
汇编语言1加到n_第2页
汇编语言1加到n_第3页
汇编语言1加到n_第4页
汇编语言1加到n_第5页
资源描述:

《汇编语言1加到n》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、实验名称——累加实验人:班级:学号:课程:汇编语言目的:掌握循环程序设计与过程的设计方法内容:求出1到n的累加开始设计思想:这个程序的设计从结构上来看主要分为三部分——1,键盘输入的数字字符串(十进制数值)如何变为具有数值意义的二进制数2,利用一个循环结构将1到n的和求出3,将一个就有数值意义的二进制数转化为ASCII码并以字符串(十进制)显示出来(与计算结果的二进制数相等)。输入数字是数字吗否是将ascii码转化为二进制数将二进制数放入ax中将ax中的数放入cx中Cx=0?Cx-1放入cx是否显示errorAx+cx放入ax中结束将ax中的数值转化为ascii并显示.MODELSMALL

2、.STACK1024.DATAf1db'INPUTN:','$'f2db0dh,0ah,'sum=','$'f3db0dh,0ah,'error','$'pdw0sumdw0.CODE.STARTUPmovdx,offsetf1movah,9h;显示字符inputn:int21hinput:movah,1int21h;显示输入字符并将字符的ascii值放入alcmpal,0dhjznextcmpal,'0'jbnext1cmpal,'9';判断字符的合法性janext1subal,'0';将ascii码转化为每一位的数值movah,0pushax;通过堆栈保护数据movax,p;shlax

3、,1pushaxmovcl,2shlax,cl;ax的值乘以4xorbx,bxpopbxaddax,bxxorbx,bxpopbxaddax,bxmovp,ax;将n的二进制数值存入p中jmpinputnext:movbx,0;bx清零xorax,ax;ax清零movcx,p;循环次数存入cx中again:incbxaddax,bxloopagain;将n的累加求出并放入ax中movsum,ax;将n的累加存入变量sumloop1:movdx,0;movbx,10divbxadddx,'0'将要显示的数转化为ascii码pushdx;通过堆栈保护数据inccx;记录要显示字符的个数cmpa

4、x,0h;判断商是否为零jnzloop1movdx,offsetinfo2movah,9int21h;这三步换行显示字符loop2:popdx;将要显示的字符的ascii码放入dxmovah,2int21h;dos的2号调用显示字符looploop2;通过循环显示字符串jmpnext2;next1:movdx,offsetinfo3movah,9int21hnext2:.EXITEND在这个程序的编写过程中收获了很多,如:如何将数值ascii码转化为二进制数,循环结构的应用,将二进制数如何以十进制数值ascii码显示。在此过程也了解到了堆栈的重要性,而且还有关于dos的调用。这个程序的编写

5、使我受益匪浅。但是在调试的过程中也走了不少弯路,一开始就拿课件上的程序组合在一起,自以为还可以,在调试的过程中不时就出现乱码,还有那个换行显示,一开始显示的字符不在同一行。反正就是显示错位,一看这情况真的很烦,但是到最后成功的时候真的很开心,前面的付出都是值得的。一开始对汇编真的不太感兴趣,但是通过这个程序的编写后,发现自己真的爱上汇编了。

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

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

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