北邮微原软件实验

北邮微原软件实验

ID:30271962

大小:590.38 KB

页数:28页

时间:2018-12-28

北邮微原软件实验_第1页
北邮微原软件实验_第2页
北邮微原软件实验_第3页
北邮微原软件实验_第4页
北邮微原软件实验_第5页
资源描述:

《北邮微原软件实验》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

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

2、、49、50、51、52、53、54、55、56、57,即30H、31H、32H、33H、34H、35H、36H、37H、38H、39H。(2)将要显示的数字加上30H,得到该数的ASCII码,再利用DOS功能调用显示单个字符。2.如何检验一个数为正,为负或为零?你能举出多少种不同的方法?答:(1)采用CMP指令,观察标志位;(2)采用TEST指令,观察标志位;(3)将该数与0相与,观察标志位;(4)将该数与0相减,观察标志位。四.流程图选作流程图流程图五.源代码(1)DATASEGMENT;数据段BUFFDW5,-3,-7,0,18,19,0,33;待检索的数

3、字序列COUNTEQU$-BUFF;此时,COUNT的值为BUFF所占的字节数STRINGDB6DUP(?);存放要显示的结果DATAENDSCODESEGMENT;代码段ASSUMECS:CODE,DS:DATA,ES:DATABEGIN:MOVAX,DATAMOVDS,AXMOVCX,COUNTSHRCX,1;相当于除2,正好为BUFF中的数据个数MOVDX,0;设定计数器初值MOVAH,0;设定计数器初值LEABX,BUFFAGAIN:CMPWORDPTR[BX],0JGEPLU;大于等于0,则转PIUINCAH;<0,则统计JMPNEXTPLU:JZZE

4、R;=0,则转ZERINCDL;>0,则统计JMPNEXTZER:INCDH;=0,则统计NEXT:INCBXINCBX;修改地址指针DECCXJNZAGAINmoval,dl;DL中存放整数的个数,移至AL,准备显示CALLWORDPRINTmovax,4C00h;terminatetheprogramnormallyint21h;******************************;*显示结果*;******************************WORDPRINTPROCandal,0Fhcallhexdmovstring,almoval,

5、dh;DH中存放0的个数,移至AL,准备显示andal,0Fhcallhexdmovstring+1,'';为增加可读性,在输出字符之间增加空格键movstring+2,almoval,ah;AH中存放负数个数,移至AL,准备显示andal,0Fhcallhexdmovstring+3,''movstring+4,almovstring+5,'$'MOVAH,9MOVDX,OFFSETSTRINGint21hWORDPRINTENDP;****************************************************************

6、****;*将1位十六进制数转换为其对应的ASCII码,其中入口参数为AL中存放的待*转换的十六进制数,出口参数为转换完的结果,存入AL中;********************************************************************HEXDPROCNEARCMPAL,0AHJLADDZADDAL,'A'-'0'-10ADDZ:ADDal,'0'RETHEXDENDPCODEENDSENDBEGIN(2)选作DATASEGMENTBUFFDW5,-3,-7,0,18,19,0,33,-4COUNTEQU$-BUFF;;此

7、时,COUNT的值为BUFF所占的字节数TMP1DB0;负偶数个数TMP2DB0;负奇数个数STRINGDB10DUP(?);存放待显示结果DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATA,ES:DATA;初始化BEGIN:MOVAX,DATAMOVDS,AXMOVCX,COUNTSHRCX,1;;相当于除2,正好为BUFF中的数据个数MOVDX,0;;dh中存放正奇数个数,dl中存放正偶数个数MOVAH,0;;ah中存放0的个数LEABX,BUFFAGAIN:CMPWORDPTR[BX],0JGEPLU;大于等于0,则转PIUJ

8、MPMINMIN:SHR

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

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

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