您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 汇编语言程序设计报告
课程设计报告(2011—2012年度第1学期)名称:汇编语言程序设计报告题目:数据统计院系:班级:学号:学生姓名:指导教师:设计周数:成绩:日期:2011年12月30日课程课程设计(综合实验)报告1一、课程设计(综合实验)的目的与要求1、掌握实验运行汇编语言所用的计算机机型2、熟悉常用编辑程序(行编辑程序EDLIN、全屏幕编辑程序QE及其它用于文件编辑的应用程序。)3、掌握汇编程序ASM、宏汇编程序MASM1.0以上。4、LINK连接程序5、DEBUG调试程序二、设计(实验)正文题目以变量ADR为起始地址的字节存储单元中存放一组有符号整数,编写程序分别统计正数的个数、负数的个数和0的个数。设计思路:1.以变量ADR为起始地址的字节存储单元中存放一组有符号整数。2.用变量NUM表示ADR存放有符号整数的个数。3.用伪指令DB定义DA1,DA2,DA3为不确定内容4.用SI表示ADR的首地址,SI自增表示依次读取ADR中所存的有符号的整数。5.将SI与0进行比较,SI0,DA1自增一次;SI0,DA2自增一次:SI=0,DA3自增一次。6.直到所有的数字运行一遍后,DA1,DA2,DA3的值便是正数,负数,0的个数原程序设计如下:DATASEGMENTADRDB13,-20,32,-5,0,56,-68,0,46,-17NUMEQU$-ADRDA1DB?DA2DB?DA3DB?DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXLEASI,ADRMOVCX,NUM课程课程设计(综合实验)报告2MOVAX,0DONE1:MOVAL,[SI]CMPAL,0JGEDONE2INCBYTEPTRDA2JMPEND0DONE2:CMPAL,0JZDONE3INCBYTEPTRDA1JMPEND0DONE3:INCBYTEPTRDA3END0:INCSIDECCXJNZDONE1MOVAH,4CHINT21HCODEENDSENDSTART三、课程设计(综合实验)总结或结论通过对汇编语言程序设计短时间的学习,我知道了程序就是内存中的一段数据,我们可以将其当作代码,也可以当做数据,也可以作堆栈来使用。所以内存的这些数据如何使用,决定权在我们如何去定义,且让内存的数据与处理器产生联系去实现我们编程的目的。而在操作ASM软件的过程中,我知道了很多指令的重要性,在编程的过程中,我们必须对所有我们所需要的指令有一定的了解,只有这样我们才能更快更准确的设计出我们想要的结果。汇编的学习不仅仅是学习其语法,而更多的是学习计算机基本的体系结构。其中遇到很多新的概念,名字。如寄存器、中断、寻址方式等。这些概念在刚接触汇编这门课的时候难以理解,但在之后的学习中通过老师的讲解,自己亲手编程的方式也就渐渐清晰明了。总之,在学习汇编语言时,指令的功能是学习和掌握的重点,我们应该准确有效并合理的使用这些指令,必须了解一些使用的规则。课程课程设计(综合实验)报告3四、参考文献廖建明《汇编语言程序设计》清华大学出版社2009年10月第一版附录(设计流程图、程序、表格、数据等)1.设计流程图开始输入数据放在AX【NUM】中AX【NUM】=0?MUM为数据长度AX【NUM】=0?INCDA2INCDA3NINCDA1NDECNUMNUM0?Y结束NY课程课程设计(综合实验)报告42.在MasmforWindows中输入设计好的程序(截图如下)在保存好文件后,点击运行,出现的界面如下课程课程设计(综合实验)报告5在输入反汇编指令u后,debug测试界面如下再输入指令t后,可以显示每步运行的结果,其中蓝色下划线标注的即为其运行的程序。课程课程设计(综合实验)报告6程序运行结束后,数据段DS:000A,000B,000C分别DA1,DA2,DA3的值,它们表示数据中大于0,小于0,等于0的个数,13,-20,32,-5,0,56,-68,0,46,-17中有四个正数,四个负数,两个零,与实际结果相符。(截图如下)
本文标题:汇编语言程序设计报告
链接地址:https://www.777doc.com/doc-2368381 .html