北邮微机原理实验报告

北邮微机原理实验报告

ID:1206246

大小:499.50 KB

页数:17页

时间:2017-11-08

北邮微机原理实验报告_第1页
北邮微机原理实验报告_第2页
北邮微机原理实验报告_第3页
北邮微机原理实验报告_第4页
北邮微机原理实验报告_第5页
资源描述:

《北邮微机原理实验报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、微机原理软件实验报告学院:信息与通信工程学院班级:2012211123班内序号:学生姓名:学号:实验二分支,循环程序设计一、实验目的1.开始独立进行汇编语言程序设计;2.掌握基本分支,循环程序设计;3.掌握最简单的DOS功能调用.二、实验任务及内容1.安排一个数据区,内存有若干个正数,负数和零。每类数的个数都不超过9。2.编写一个程序统计数据区中正数,负数和零的个数。3.将统计结果在屏幕上显示。4.(扩展题)统计出正奇数、正偶数,负奇数、负偶数以及零的个数。NYN开始初始化判断是否大于等于零读入一个数ZERO+1是否等于零返回DOS系统结束MI

2、NUS+1PLUS+1三、画出程序流程图NNCX=0YY四、给出源程序(要求加注释)datasegmentbuffdw1,2,0,0,-1;数据段,初始化数据countequ$-buffplusdb?;定义三种数的存储位置zerodb?minusdb?string1db'plusnumber:','$'string2db'zeronumber:','$'string3db'minusnumber:','$'dataendsstacksegmentstack'stack'db100dup(?)stackendscodesegmentassumec

3、s:code,ds:data,es:data,ss:stackbegin:movax,datamovds,axmovcx,countshrcx,1movdx,0movah,0leabx,buffagain:cmpwordptr[bx],0;首先和0比较jgepluincah;小于零MINUS+1jmpnextplu:jzzer;判断是否等于零,等于零ZERO+1incdl;不等于零PLUS+1jmpnextzer:incdhnext:incbx;下一个数incbxloopagainadddl,48movplus,dladddh,48movzer

4、o,dhaddah,48movminus,ahshow:subdx,dx;显示模块movdx,offsetstring1movax,0900h;送显示指令int21hmovdl,[plus]movax,0200hint21hmovdl,0dhint21hmovdl,0ahint21hmovdx,offsetstring2movax,0900hint21hmovdl,[zero]movax,0200hint21hmovdl,0dhint21hmovdl,0ahint21hmovdx,offsetstring3movax,0900hint21hmo

5、vax,0200hmovdl,[minus]int21hmovax,4c00h;结束程序int21hcodeendsendbegin五、给出程序运行结果(运行结果抓屏保存)datasegment中存入1,2,0,0,-1显示有2个0、2个大于0的数、1个小于0的数,结果正确六、预习题1.十进制数0--9所对应的ASCII码是什么?如何将十进制数0-9在屏幕上显示出来?答:对应的ASCII码是30H~39H,把0-9加上30H即可得到对应的ASCII,送给DL,再执行INT21H即可显示。2.如何检验一个数为正,为负或为零?你能举出多少种不同的方

6、法?答:1先判断是否大于等于零,否则为负数,是则判断是否等于零,否则为整数。2.判断ZF标志位,为零则循环左移一直判断,为1为负,为0为正七、实验总结、建议要求、心得体会之前小学期中已经用汇编语言编写过比较大型的程序,但是是在编译器中运行,比较容易查错,而且显示、输入等功能都是调用硬件实现,因此很多经验不能照搬,遇到了很多问题,我发现汇编语言对程序内部存储器等的利用虽然比C语言麻烦,但是都是真正可以控制、可以调用显示的,可以直接DEBUG看到内存空间,非常直观。由于在程序中存在很多条件跳转语句,所以需要在最初设计时就考虑好各种分支情况,在画好程

7、序流程图之后,程序的编写工作变得简单了很多,简化了编写代码过程中的思考过程。实验三代码转换程序设计一、实验目的1.掌握几种最基本的代码转换方法;2.运用子程序进行程序设计.二、实验任务及内容1.从键盘上输入若干两位十进制数,寻找其中的最小值,然后在屏幕上显示出来.2.两个十进制数之间的分隔符,输入结束标志自定,但要在报告中说明.3.对输入要有检错措施,以防止非法字符输入,并有适当的提示.4.将整个程序分解为若干模块,分别用子程序实现.在报告中要给出模块层次图.与MIN比较,刷新最小值YY显示YNY输入结束符.N输入空格开始初始化键盘输入两个字符

8、,存储在连续空间检测输入是否正确三、画出程序流程图ERROR!四、给出源程序(要求加注释)注:本程序段中中断字符为空格结束字符为回车datasegme

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

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

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