1、目 录 第一章 题目.4第二章 设计目的 .4第三章 设计内容.43.1.程序的功能. .43.2.程序运行条件.43.3.所需工具软件.43.4.输入/输出描. .4第四章 程序结构. .54.1程序结构. . .5 4.2算法,程序见附录. .5第五章 设计步骤. .5第六章 程序流程图、源程序. .6第七章 系统调试及实验结果(输出). . .7第八章心得体会. .8第九章 附录部分. .109.1参考文献:. .109.2附录: 源程序代码 .10课程设计任务书学生姓名: 专业班级: 软件 1 指导教师: 工作单位: 信息工程系设计题目:显示数字对称等腰三角形初始条件: PC机上实现课
2、程设计要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)主要任务:(在规定的时间内完成下列任务)1. 显示等腰三角形每行用用彩色(颜色自定)2. 在等腰三角形下方显示自己的学号和姓名(汉语拼音)时间安排:12月18日布置题目,确定任务、查找相关资料12月19日12月22日功能分析,模块设计,编写程序,调试程序12月23日答辩后撰写设计报告。设计报告撰写格式要求:(按提供的设计报告统一格式撰写)1、 题目:2、设计目的:2、设计内容:写出简要的程序功能描述、程序运行条件-所需工具软件、输入/输出描述等。3、程序结构: 主要的段定义说明; 用到的子程序(宏)的功能说明
3、、调用关系说明、参数传送方式说明等; 主要算法描述等(各模块功能实现及典型指令的应用)。4、设计步骤(注明时间安排)5、程序流程图、源程序(程序必须有简单注释,源程序若太长,可作为附录)6、实验结果(输出)7、其他值得说明的内容(1)程序结构设计特点;(2)设计、调试程序心得、体会或不足。附录:源程序代码(必须有简单注释) 参考文献指 导 教 师 签 字: 2011年 12 月15日系 主 任 签 字: 年 月 日显示数字对称等腰三角形第一章 题目:显示数字对称等腰三角形第二章 设计目的1. 巩固和加深课堂所学知识;2. 将课本上的理论知识和实际应用有机的结合起来,培养同学们分析和解决实际问题
4、的能力;3. 通过对汇编语言程序代码的阅读、修改、设计,理解和掌握复杂的汇编语言应用程序的编程,提高实践编程能力。第三章 设计内容3.1.程序的功能 3.1.1.显示等腰三角形每行用用彩色(颜色自定) 3.12.在等腰三角形下方显示自己的学号和姓名(汉语拼音)3.2.程序运行条件3.2.1用汇编语言编写出完整的程序,然后编译,分步运行,调试每一部分的程序,然后把代码写到记事本上,改一下文件的扩展名asm。然后利用tddebug来运行。注意运行的程序和运行的工具要放在一个文件里。3.3.所需工具软件所需要的工具有tddebug.exe, ,link.exe,run.exe,obj.exe 等工具
5、。3.4.输入/输出描在运行程序时要输入程序的名称,然后一步步运行。最后生成一个obj文件和一个exe文件。打开exe文件就是程序的输出的数字对称等腰的三角形,还有各种色彩,下面还有自己的学号姓名。在等腰三角形的外围还环绕着自己的学号。这是整个程序运行结束后输出的图形。其余见截图部分。第四章 程序结构4.1该程序的开始定义了MAIN函数,该函数的主要实现输出数字对称等腰三角形。接着定义了xh函数,该函数的功能是实现程序输出三角形外围的学号的子程序,然后在程序中定义了个OUTX 函数,该函数的功能是实现输出每行数字的颜色各不相同,程序中还用到了一个DISPLAY模块,即显示,该函数的功能是为了让
6、数字三角形可以显示出来,让人可以一清二楚。程序还定义了SPACE该程序的主要实现在显示等腰三角形时需要空格,因为每行三数字不是一般多,没有的就需要空格。程序还定义了CRLF函数,该函数是为了空行。4.2算法,程序见附录第五章 设计步骤1分析题目,查阅相关参考资料,对设计项目的功能初步了解。(第一天)2完成程序的模块化设计(第二天)。3对各个模块进行编程,并将其联系到一起,整合程序并调试(第三、四天)。4.答辩并书写实验报告书(第五天)第六章 程序流程图、源程序开始Main函数DH=1,ch=0111-ch显示空格Cl自减Cl=0 LOP1Call xh,cl=chCl=1? Al=cl,cl自
7、减LOP2BEXITCl=ch,bh=2Cl 自减 Cl=o?Ah=bh,bh 自增 LOP2CEXIT,call xh,CRLFCh ,dh自增Cl8?num偏移地址退出程序否是否否否是LOP2ALOP2BLOP2C第七章 实验结果(输出) 图7.1 图7.2 图7.3第八章心得体会为时一周的课程设计让我增长了很多学习汇编语言的经验。首先是对汇编语言性质的认识,汇编语言是低级语言,是与各种寄存器和堆栈联系紧密的机器底层语言。之前在课堂上接触到的程序没有针对性,仅仅靠考试和平时的习题远远达不到编程训练的要求,经过这次课程设计之后我才知道我们平时上课学的那只是皮毛中的皮毛,而且要学好汇编必须认真
8、的投入进去。其次是对汇编语言学习信心的增强。在学习汇编语言之前我们学过C语言,接触汇编之后感觉这是门复杂的课程,较之高级语言,它代码量大,难懂。经过这次课程设计之后我了解到只要认真投入地去思考机器是如何进行逻辑思考的并且熟悉指令,汇编语言的趣味性比高级语言更强。虽然今后的就业方向不一定与汇编息息相关,但作为一个软件工程专业的学生,我们要认真去学习去钻研,过去老师讲课我们总是说听不懂,为这学习委员还找过老师的。考试是我们每个人都担心的不得了,听说上一届的挂科率太大了,对这门课慢慢就失去了信心。只要一提到汇编我们就头疼,经过实训我发现汇编也可以和c语言一样有趣,一样让人学到很多东西。还有就是其实每
9、门课没有所谓的难和易,只要你认真学一切都变得不再那么难。还有就是不要放弃,不懂就要去弄懂,不要轻易地放弃。设计过程中质疑(或答辩)记载:1. 通过汇编课程设计后,谈你的体会? 答:我发现之前在课堂上接触到的程序没有针对性,仅仅靠考试和平时的习题远远达不到编程训练的要求,经过这次课程设计之后我才知道我们平时上课学的那只是很小的一部分,而且要学好汇编必须认真的投入进去,只要然真学了就会有收获。2.课程设计中,你用最多时间完成任务功能是哪个? 答:在课程设计中我花的时间最长的是在等腰三角形外面加上自己的学号,这个问题花了我很长时间,最后在老师还有同学的帮助下终于完成了。这个要用到指针而且左右两面。3
10、.设计中是否多人合作完成?谈谈合作中的体会? 答:设计中是两个人在一起讨论的,不管是在颜色设置还是学号的嵌入,都有讨论过。俗话说众人拾柴火焰高,真是不错,一个人不能解决的问题经过讨论就会出现结果。而且每个人的思维不一样,想法的切入点也不一样,这样就会有多种方法,或者彼此相互提醒。指导教师评语:评分:签名:年 月 日 第九章附录部分9.1参考文献:1.沈美明.温冬婵.80X86汇编语言程序设计. 北京:清华大学出版社,2001.2.钱晓捷.汇编语言程序设计.第二版.北京:电子工业出本社,2005.3.朱玉龙,任文岚,朱彤. 汇编语言程序设计.北京:清华大学出版社,2003.9.2程序主要代码DA
11、TA SEGMENTNUM DB 0AH,0DH,10212810133 xiong jing,0ah,0dh,$NUM1 DB 0AH,0DH,0113832110220112,0ah,0dh,$col DB 00000001b,00000011b,00000111b,00001111b,00001000b DB 00001100b,00001110b,00001011b,00001010b,00001101bp dw num1+2 DATA ENDSSTACK SEGMENT STACK DW 100H DUP(?)STACK ENDSCODE SEGMENT ASSUME CS:CODE
12、,SS:STACK,DS:DATASTART: MOV AX,DATA MOV DS,AX;=MAIN()=主函数 CALL CRLF CALL CRLF;- MOV DH,1 MOV CH,01H LOP1: ;-PRINT SPACE- MOV CL,11 SUB CL,CH LOP2A: CALL SPACE ;显示空格 DEC CL ;循环 JNZ LOP2A call xh ;调用xh函数 ;-PRINT 左- MOV CL,CH LOP2B: CMP CL,1 ;判断cl是否小于1 JL LOP2BEXIT ;是的跳转 LOP2BEXIT MOV AL,CL ;否显示al的数 CA
13、LL DISPLAY ;调用空格 DEC CL ;自增 JMP LOP2B ;继续循环LOP2BEXIT:;-PRINT 左-End-;-PRINT 右- MOV CL,CH MOV BH,2LOP2C: DEC CL ;cl自减 JZ LOP2CEXIT ;cl=0?是的跳转LOP2CEXIT MOV AL,BH ;否显示al的数 CALL DISPLAY INC BH ;bh自增 JMP LOP2C ;跳转到LOP2C继续循环LOP2CEXIT:;-PRINT 右-End-call xh CALL CRLF INC CH inc dh CMP CH,8 JBE LOP1 MOV DX,OF
14、FSET NUM MOV AH,9 INT 21H MOV AH,1 INT 21H;= MOV AX,4C00H INT 21H;-CRLF PROC NEAR PUSH AX PUSH DX MOV AH,2 MOV DL,0AH INT 21H MOV DL,0DH INT 21H POP DX POP AX RETCRLF ENDPOUTX PROC NEAR push ax push bx push cx push dx push si xor ah,ah ;清零 mov al,dh mov si,ax mov ah,9 mov al,dl mov bh,0 mov bl,colsi
15、 mov cx,1 int 10h mov ah,3 int 10h mov ah,2 inc dl int 10h pop si pop dx pop cx pop bx pop ax RETOUTX ENDP;-SPACE PROC NEAR PUSH AX PUSH DX MOV AH,2 MOV DL, INT 21H POP DX POP AX RETSPACE ENDP;-DISPLAY PROC NEAR PUSH DX MOV DL,AL ADD DL,0 CALL OUTX POP DX RETDISPLAY ENDPxh proc near push ax push bx push dx mov bx,p inc p mov dl ,bx mov ah,2 int 21h inc bx pop dx pop bx pop ax ret xh endpCODE ENDS END START
版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。
Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1
陕公网安备 61072602000132号 违法和不良信息举报:0916-4228922