北邮微机原理软件部分报告.doc

北邮微机原理软件部分报告.doc

ID:48428803

大小:364.00 KB

页数:29页

时间:2020-01-25

北邮微机原理软件部分报告.doc_第1页
北邮微机原理软件部分报告.doc_第2页
北邮微机原理软件部分报告.doc_第3页
北邮微机原理软件部分报告.doc_第4页
北邮微机原理软件部分报告.doc_第5页
资源描述:

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

1、.word可编辑.微机原理与接口技术软件部分实验报告.专业.专注..word可编辑.实验B分支、循环程序设计一、实验目的1.开始独立进行汇编语言程序设计;2.掌握基本分支,循环程序设计;3.掌握最简单的DOS功能调用。二、实验任务及内容1.安排一个数据区,内存有若干个正数,负数和零。每类数的个数都不超过9。2.编写一个程序统计数据区中正数,负数和零的个数。3.将统计结果在屏幕上显示。4.选作题:统计出正奇数,正偶数,负奇数,负偶数以及零的个数.三、程序流程图BUFF偏移地址送BX否dh=dh+1(等于0个数)否ah=ah+1(小于0个数)DL=DL+1(大于0个数)[BX]是否大于

2、0?[BX]是否大于等于0BX值加1.专业.专注..word可编辑.否判断完所有的数?是显示结果,结束一、源程序DISPSTRMACROSTR;打出字符串(属于DOS功能调用)MOVAH,9MOVDX,SEGSTRMOVDS,DXMOVDX,OFFSETSTRINT21HENDMDISPNUMMACRONUM;打出数字(属于DOS功能调用)MOVAH,2MOVDL,NUMADDDL,30H;加30H变为ASCII码INT21HENDMDATASEGMENTNUMDB1,3,5,0,0,0,-5,-4,0COUNTEQU$-NUM;统计数据个数ZEROSDB0;各类数初值均为0PLUS

3、ESDB0MINUSESDB0EVENMINUSESDB0ODDMINUSESDB0EVENPLUSESDB0ODDPLUSESDB0ZEROSTRDB0DH,0AH,'ZERO:$';待输出字符串.专业.专注..word可编辑.PLUSSTRDB0DH,0AH,'PLUS:$'MINUSSTRDB0DH,0AH,'MINUS:$'EVENMINUSSTRDB0DH,0AH,'EVENMINUS:$'ODDMINUSSTRDB0DH,0AH,'ODDMINUS:$'EVENPLUSSTRDB0DH,0AH,'EVENPLUS:$'ODDPLUSSTRDB0DH,0AH,'ODDPLU

4、S:$'DATAENDSSTACKSEGMENTSTACK'STACK'DB100DUP(?)STACKENDSCODESEGMENTASSUMECS:CODE,DS:DATA,SS:STACKSTARTPROCFARPUSHDS;初始化MOVAX,0PUSHAXMOVAX,DATAMOVDS,AXMOVCX,COUNT;CX控制循环次数MOVSI,OFFSETNUM;SI指向数据的偏移地址LOOP1:CMPBYTEPTR[SI],0;将SI指向的内容与0比较大小JZZERO;等于0跳转JGPLUS;大于0跳转INCMINUSES;负数加一SHRBYTEPTR[SI],1;判断是负奇

5、数还是负偶数JNCEVENMINUS;是负偶数跳转INCSI;SI指针后移INCODDMINUSES;负奇数加一RETURN:LOOPLOOP1;循环直至CX=0JMPDISP;循环结束后跳转至打出结果ZERO:INCZEROSINCSIJMPRETURN;返回循环体PLUS:INCPLUSESSHRBYTEPTR[SI],1.专业.专注..word可编辑.JNCEVENPLUSINCSIINCODDPLUSESJMPRETURNEVENPLUS:INCSIINCEVENPLUSESJMPRETURNEVENMINUS:INCSIINCEVENMINUSESJMPRETURNDISP

6、:DISPSTRZEROSTR;打出结果DISPNUMZEROSDISPSTRPLUSSTRDISPNUMPLUSESDISPSTRMINUSSTRDISPNUMMINUSESDISPSTREVENPLUSSTRDISPNUMEVENPLUSESDISPSTRODDPLUSSTRDISPNUMODDPLUSESDISPSTREVENMINUSSTRDISPNUMEVENMINUSESDISPSTRODDMINUSSTRDISPNUMODDMINUSESRETSTARTENDPCODEENDSENDSTARTendstart一、程序运行结果进行统计的数据为1,3,5,0,0,0,-5,

7、-4,0。程序运行结果如下:.专业.专注..word可编辑.一、回答预习题1.十进制数0--9所对应的ASCII码是什么?如何将十进制数0--9在屏幕上显示出来?0--9的ASCII码为30H—39H。若想将一个十进制数0—9的字符在屏幕上显示出来,首先应该把它所占寄存器的值赋给DL寄存器,然后DL寄存器的值加30H,然后执行02号DOS功能调用,即执行以下代码“MOVAH,02”,“INT21H”即可。2.如何检验一个数为正,为负或为零?你能举出多少种不

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

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

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