2015年微机原理软件实验报告.doc

2015年微机原理软件实验报告.doc

ID:59513801

大小:256.00 KB

页数:39页

时间:2020-11-04

2015年微机原理软件实验报告.doc_第1页
2015年微机原理软件实验报告.doc_第2页
2015年微机原理软件实验报告.doc_第3页
2015年微机原理软件实验报告.doc_第4页
2015年微机原理软件实验报告.doc_第5页
资源描述:

《2015年微机原理软件实验报告.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、信息与通信工程学院微机原理软件实验报告班级:姓名:学号:日期:2015年11月实验B分支、循环程序设计一、实验目的1.开始独立进行汇编语言程序设计;2.掌握基本分支,循环程序设计;3.掌握最简单的DOS功能调用。二、实验内容1.安排一个数据区,内存有若干个正数,负数和零。每类数的个数都不超过9。2.编写一个程序统计数据区中正数,负数和零的个数。3.将统计结果在屏幕上显示。4.(选作题)统计出正奇数、正偶数,负奇数、负偶数以及零的个数。三、预习思考1.十进制数0~9所对应的ASCII码是什么?如何将十进制数0~9在屏幕上显示出来?0~9分别对应A

2、SCII码的30H~39H;由于数字0~9的ASCII码值与其代表的数值之间相差30H,因此将其减去30H即可得到以非压缩型BCD数形式表示的十进制数。2.如何检验一个数为正,为负或为零?你能举出多少种不同的方法?一是直接用CMP命令和0比较(CMPX,0),然后检验标志位CF,CF=1则X为负数,CF=0接着检验ZF,ZF=1则X为零,ZF=0则X为正数;二是使用逻辑或移位运算,和0相比是否相等,用数和相与,取出符号位判断,可区分正负。四、实验过程流程图源代码datasegmentarraydb1,4,3,2,5,7,-1,-2,-6,0,0

3、,0;自定义数组lengthEQU$-array;数组长度pnumdb?;正数个数nnumdb?;负数个数zerodb?;零的个数pevendb?;正偶数个数podddb?;正奇数个数nevendb?;负偶数个数nodddb?;负奇数个数POSICHARDB'Positive:$';用于打印字符串定义NEGTCHARDB'Negtive:$'ZEROCHARDB'Zero:$'EVENCHARDB'Even:$'ODDCHARDB'Odd:$'CRDB0DH,0AH,'$';回车换行的ASCII码dataends;---------------

4、-----------------------------------------codesegmentassumecs:code,ds:datastart:movax,datamovds,axmovsi,offsetarray;offset指令取array的偏移地址decsi;偏移地址先减1movcl,length;数组长度赋予CLxoral,allop:cmpcl,0;余下数组长度不为0,则继续循环jeprint;cl为0跳出循环incsi;偏移地址加1,比较下一位数字deccl;余下数组长度减1movbl,[si];采用寄存器间接寻址方式

5、cmpbl,0;和0比较jgposi;正数跳转jzzo;零跳转jlneg;负数跳转posi:incpnum;正数个数加1testbx,01h;检测最后一位是否是0jzpep;是0,即为偶数则跳转至pepincpodd;不是0,则正奇数个数加1jmploppep:incpeven;正偶数个数加1jmplopzo:inczero;零的个数加1jmplopneg:incnnum;负数个数加1testbx,01h;检测最后一位是否是0jznep;是0,即为偶数则跳转至nepincnodd;不是0,则负奇数个数加1jmplopnep:incneven;正

6、偶数个数加1jmplopprint:movah,09h;打印正数个数movdx,offsetPOSICHARint21h;系统功能调用movah,02hmovdl,pnumadddl,30hint21hmovah,09hmovdx,offseteventcharint21hmovah,02hmovdl,pevenadddl,30hint21hmovah,09hmovdx,offsetoddcharint21hmovah,02hmovdl,poddmovdl,30hint21hmovdx,offsetcrmovah,09hint21h;-----

7、---------------------------------------------------movah,09h;打印负数个数movdx,offsetnegtcharint21h;系统功能调用movah,02hmovdl,nnumadddl,30hint21hmovah,09hmovdx,offseteventcharint21hmovah,02hmovdl,nevenadddl,30hint21hmovah,09hmovdx,offsetoddcharint21hmovah,02hmovdl,noddmovdl,30hint21hmo

8、vdx,offsetcrmovah,09hint21hmovah,09hmovdx,offsetzerocharint21h;系统功能调用movah,

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

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

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