资源描述:
《北邮微原软件实验报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、信息与通信工程学院微机原理软件实验报告2013年微机原理软件实验报告学院:信息与通信工程学院班级:2011211104姓名:信息与通信工程学院微机原理软件实验报告实验二分支,循环程序设计一.实验目的:1.开始独立进行汇编语言程序设计;2.掌握基本分支,循环程序设计;3.掌握最简单的DOS功能调用二.实验内容:1.安排一个数据区,内存有若干个正数,负数和零.每类数的个数都不超过9.2.编写一个程序统计数据区中正数,负数和零的个数.3.将统计结果在屏幕上显示.三.预习题1.十进制数0--9所对应的ASCII码是什么?如何将十进制数0--9在屏幕上显示出来?0-9的ACSII码为,30h,31h,3
2、2h,34h,35h,36h,37h,38h,39h,将要显示的数加上30h,得到该数的ACSII码,再利用DOS功能调用显示单个字符2.如何检验一个数为正,为负或为零?你能举出多少种不同的方法?利用cmp指令,利用TEST指令,将该数与0相与,将该数与0相减,观察标志位。四.程序流程图信息与通信工程学院微机原理软件实验报告是开始初始化,将DATA赋给DSSI指向带处理数据,CX存入数据个数判断[SI]是否大于等于0否MINUS(存小于0个数)加一是判断是否等于0ZERO(存等于0个数)加一PLUS(存等于0个数)加一SI加一CX减一CX=0?显示结果返回,结束否是否五.源程序信息与通信工程学
3、院微机原理软件实验报告DATASEGMENT;数据段NUMDB1,2,-2,3,-3,5,2,4,-6,-11,100,0,0,34,-55,-33,0;待处理数据COUNTEQU$-NUM;数据个数MINUSDB0;小于零的个数ZERODB0;等于零的个数PLUSDB0;大于零的个数RESULTDB'NEGNUM=',?,0AH,0DH,'ZERONUM=',?,0AH,0DH,'POSNUM=',?,0AH,0DH,'$';结果显示字符串DATAENDSSTACKSEGMENTSTACK'STACK';堆栈段DW50DUP(?)STACKENDSCODESEGMENT;代码段ASSUMEC
4、S:CODE,DS:DATA,SS:STACKSTART:MOVAX,DATAMOVDS,AXMOVCX,COUNTMOVSI,OFFSETNUMAGAIN:MOVAL,[SI];循环比较CMPAL,0JGENEXT1INCMINUSJMPDONENEXT1:JZNEXT2INCPLUSJMPDONENEXT2:INCZERODONE:INCSILOOPAGAIN;返回结果MOVDI,OFFSETRESULTMOVAL,MINUSADDAL,30HMOVBYTEPTR[DI+7],ALMOVAL,ZEROADDAL,30HMOVBYTEPTR[DI+18],ALMOVAL,PLUSADDAL,
5、30HMOVBYTEPTR[DI+28],ALMOVAH,09HMOVDX,DI信息与通信工程学院微机原理软件实验报告INT21HMOVAX,4C00HINT21HCODEENDSENDSTART五.程序运行结果正确输出了正数,负数,零的个数七.实验心得与体会这次实验练习了用跳转语句实现分支结构,使我更加熟悉了跳转语句在分支结构中的应用,练习了用DOS功能调用输出字符串。将课堂的理论应用于实践,体会到了汇编语言编程的特点和魅力。实验三代码转换程序设计信息与通信工程学院微机原理软件实验报告一.实验目的:1.掌握几种最基本的代码转换方法;2.运用子程序进行程序设计.二.实验内容:1.从键盘上输入若
6、干两位十进制数,寻找其中的最小值,然后在屏幕上显示出来.2.两个十进制数之间的分隔符,输入结束标志自定,但要在报告中说明.3.对输入要有检错措施,以防止非法字符输入,并有适当的提示.4.将整个程序分解为若干模块,分别用子程序实现.在报告中要给出模块层次图.三.预习题1如何将输入的两个字符(0--9)变为十进制或二进制数?将输入的字符减去30H,可得到对应十进制数,将第一个数乘10,加上第二个数,即为最后结果2如何将选出的最小值(二进制或十进制)变为ASCII码再进行显示?说明:输入的字符以空格间隔,以回车结束,且仅允许输入两位十进制数,输入其他字符,或者输入多位,都会报错将输入的字符串先转化成
7、数串,选出其中的最小值,转化为对应十位和个位,分别加上30H,输出显示3你觉得采用二进制运算还是十进制运算更适合于这个实验?十进制四.程序流程图开始初始化,DATA赋给DS利用0AH号DOS功能调用,输入数据将字符串长度存入CX判断字符是否为空格或回车判断是否为0~9否是判断为十位还是个位,分别存入AH,AL是判断空格或回车前输入的书否为两位数调用TRANSFER子程序DI加一SI加一CX-1CX