资源描述:
《《汇编语言》实验报告实验四》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、院系:计算机科学学院专业:计算机科学与技术年级:2014级课程名称:汇编语言学号:姓名:指导教师:2015年12月9日年级 2014级班号 学号 专业计算机科学与技术 姓名 实验名称8086汇编实验四子程序和串指令实验类型设计型综合型创新型实验目的或要求实验目的:掌握子程序设计的原理和方法,重点掌握子程序编写和调用的过程以及堆栈操作和参数以及局部变量的概念。掌握串操作指令的用法,注意DF标识位以及源串、目标串的存储和改变。实验要求:(1)编写子程序(2)在主程序中调用子程序(3)实现主程序与子程序的参数传递.实验1题目:写一个过程avg,该过程
2、可找出一个字串的平均值,过程avg有两个参数,用堆栈进行参数传递。(1)串的地址(2)串中元素的个数。实验要求:例如,输入的串元素为1,3,-9,5,12,那么输出是:2。1、程序清单。.386.MODELFLATExitProcessPROTONEAR32stdcall,dwExitCode:DWORDINCLUDEio.h;headerfileforinput/outputcrEQU0dh;carriagereturncharacterLfEQU0ah;linefeedmaxNbrsEQU100.STACK4096;reserve4096-b
3、ytestack.DATA;reservestoragefordatatiebyte"输入一个数组(以#结束)",cr,lf,0nbrEltsdw?nbrArrydwordmaxNbrsdup(?)numberbyte20dup(?)bytecr,lf,0avgnumberdword?.CODE;startofmainprogramcodeavgPROCNEAR32pushebp;movebp,esp;pushadpushfmovebx,[ebp+14]movecx,0movcx,[ebp+12]movsxedx,cxmoveax,0jecxze
4、ndcountforcount:addeax,[ebx]addebx,4loopforcountmovebx,edxcwdidivebxendcount:movebx,[ebp+8]mov[ebx],eaxpopfpopadpopebpretavgENDP_start:outputtiemovnbrElts,0leaebx,nbrArryinput1:inputnumber,20cmpnumber,'#'jeendwhileatodnumbermov[ebx],eaxincnbrEltsaddebx,4jmpinput1endwhile:leae
5、ax,nbrArrypusheaxpushnbrEltsleaeax,avgnumberpusheaxcallavgdtoanumber,avgnumberoutputnumberaddesp,10INVOKEExitProcess,0;exitwithreturncode0PUBLIC_start;makeentrypointpublicEND;endofsourcecode2、执行结果截图实验结果分析及心得体会内容包括:总结经验提高编程及调试能力。调试情况,如上机时遇到的问题及解决的办法,观察到的现象及其分析,对程序设计技巧的总结及分析等;程
6、序的输出结果及对结果的分析;实验的心得体会等。通过实验发现自己还有很多的不足,对知识的理解不清晰,做每道题都会花费很多的时间来看课本,有很多简单的错误阻碍程序的正常运行。关于解题技巧:在做实验题目之前一定要认真读懂题目并认真思考分析,理清自己的思路,在草稿纸上先简单的规划好程序的着手点和过程,这样在写程序的时候才能清清楚楚的知道下一步该做什么,从而快速解决问题。成绩评定教师签名:2015年月日