微机原理课程设计图形变换程序

上传人:壹****1 文档编号:490042761 上传时间:2022-09-05 格式:DOC 页数:20 大小:1.43MB
返回 下载 相关 举报
微机原理课程设计图形变换程序_第1页
第1页 / 共20页
微机原理课程设计图形变换程序_第2页
第2页 / 共20页
微机原理课程设计图形变换程序_第3页
第3页 / 共20页
微机原理课程设计图形变换程序_第4页
第4页 / 共20页
微机原理课程设计图形变换程序_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《微机原理课程设计图形变换程序》由会员分享,可在线阅读,更多相关《微机原理课程设计图形变换程序(20页珍藏版)》请在金锄头文库上搜索。

1、南昌航空大学科技学院课程设计目 录一、摘要1二、设计的题目1图形转换1三、设计目的1四、设计内容14.1程序的内容与要求14.2程序运行条件24.3输入/输出描述2五、设计思路3六、程序结构36.1段定义说明36.2子程序功能说明46.3算法描述4(1)各模块功能实现4(2)典型指令的应用4七、程序流程图5八、文件的编辑、连接和运行结果68.1.汇编源程序文件(ASM,MASM)68.2.连接目标文件(LINK)78.3.运行可执行文件7九、程序的调试89.1程序结构设计特点89.2调试程序心得8十、小结与体会8十一、附录9源程序代码(简单注释)9参考文献18组员分工18- 18 -微机原理

2、课程设计任务书20102011学年 第二学期第19周19周 题目图形变换程序内容及要求结合微机原理知识,查阅有关资料,完成一个图形变换的程序编写,系统具有4种可选择的功能,按字母“Y”画一个由点组成的园;按字母“S”画一个由不同颜色填充的三角形;按字母“Z”画一个由不同颜色填充的矩形;按字母“Q”退出。 进度安排1、查找资料,提出总体方案 1天2、分析、设计、调试、实现 3天3、检查、整理、写设计报告、小结 1天学生姓名:指导时间:2011-6-27至2011-7-1指导地点:F 楼 312 室任务下达2011年6月27日任务完成2011年7月1日考核方式1.评阅 2.答辩 3.实际操作 4.

3、其它指导教师系(部)主任一、摘要:微机原理与接口技术课程是电气信息类专业学生的一门重要基础课程,同时也是一门实践性和应用性很强的课程。本课程主要讲授微型计算机的基本工作原理、系统组成及接口技术和基本的汇编语言程序设计知识,通过学习从而为学生今后分析和设计微机应用系统打好基础。在理论教学的同时,如果忽视实践教学,学生对理论知识不能够很好的掌握,学习效果就会受到很大的影响。 本次课程设计主要是通过应用微机原理中汇编的几个步骤编辑、汇编、连接、运行或调试运行,使得在doc界面完成图形变换。关键词:微型计算机原理 接口技术 汇编语言 实践教学 doc 二、设计的题目: 图形变换程序三、设计目的:1.巩

4、固和加深课堂所学知识。2.将课本上的理论知识和实际应用有机的结合起来,培养同学们分析和解决实际问题的能力。 3.通过对汇编语言程序代码的阅读、修改、设计,理解和掌握复杂的汇编语言应用程序的编程,提高实践编程能力。本程序要求按不同的键显示不同的图形,按“q”键退出。实质上通过做这道题目可以检查学生对汇编语言这门课程的基本知识的掌握程度。能用汇编语言熟练地运用顺序、选择、循环三大结构,进一步掌握各个指令的功能,特别是转向指令,让同学熟悉并掌握DOS系统功能调方法用及BIOS系统功能调用方法;同时在程序设计过程中熟悉并掌握各种指令的应用,知道编程的具体流程,以及掌握DEBUG的一系列的功能执行命令,

5、及用它进行调试,运行功能。只有掌握汇编语言基本编程方法,掌握程序各部分功能及其相互联系、相互作用,才能把程序写出来,才能把程序写好。四、设计内容:4.1程序的内容与要求: 结合微机原理知识,查阅有关资料,完成一个图形变换的程序编写,系统具有4种可选择的功能,按字母“Y”画一个由点组成的园;按字母“S”画一个由不同颜色填充的三角形;按字母“Z”画一个由不同颜色填充的矩形;按字母“Q”退出。4.2程序运行条件本程序可在windows 98,windows 2000,windows xp上运行。所需要工具软件为MASM2.0及以上版本。4.3输入/输出描述输入Y输入S输入Z输入q返回到DOS界面。五

6、、设计思路:BIOS调用中并没有现成的显示圆、三角形和矩形的功能,故编写了三个子程序,采用段内调用子程序的方法来实现.其中圆用在屏幕上显示12个小圆点以围成一个圆来实现,12个小圆点的行列坐标事先定义在一个变量中.三角形和矩形的实现原理是采用控制写点的方式,行、列、块的颜色不是采用变量表示,此处的三角形用寄存器表示,使用了堆栈技术;矩形使用的也是寄存器,但没有使用堆栈.整个程序的结构如图所示。六、程序结构:6.1段定义说明分为数据段DSEG、堆栈段SSEG和代码段CSEG。堆栈段是为一些字符串和图形的光标位置及其他一些数据分配空间;数据段是记录程序运行过程中所需的信息,包括字符信息,图形光标等

7、;代码段则是程序算法部分,通过对各子程序的调用,实现图形转换功能。6.2子程序功能说明子程序包括三个:函数名为YUAN,SAN和ZHENG,分别具有画圆、画三角形和画矩形的功能。调用关系:根据指令SA: CALL SANJMP INPUTZHEN:CALL ZHENG JMP INPUTYUA: CALL YUAN JMP INPUT当转移到各标号时,调用不同的子程序,从而实现绘制图形。过程返回指令RET定义在子程序中,当执行完子程序后,跳转到INPUT。参数传送方式:程序中用到利用寄存器传递参数和利用约定存储单元的方法传递参数。即把参数存放在寄存器或是存储单元中来实现主程序和子程序间的参数传

8、递。6.3算法描述(1)各模块功能实现:a. MAIN模块功能:这是个主过程,是负责进入和退出图形转换程序的入口。利用指令:MOV AH,08 ;不带回显键盘输入,出口参数alINT 21H来实现字符的输入,从而进入相应的子程序。b. YUAN模块功能:实现画圆的功能。圆用在屏幕上显示12个小圆点以围成一个圆来实现,12个小圆点的行列坐标事先定义在一个变量中。利用CALL指令直接实现从主函数调用。c. SAN模块功能:实现画三角形功能。利用CALL指令直接实现从主函数调用。d ZHENG模块功能:实现画矩形的功能。通过向四个方向滚屏,来实现绘制四个边。利用CALL指令直接实现从主函数调用。(2

9、)典型指令的应用:程序中运用了大量的数据定义语句、数据传送指令及转移指令,并用到DOC功能调用和基本输入输出系统BIOS中的中断处理程序。典型的有JZ跳转指令,中断指令INT 10H,INT 21H,如指令:MOV AL,2 MOV AH,9 MOV BL,0E0H INT 10H其中AL存放字符代码,AL=字符代码,AH=9表示将字符和属性写到光标位置处,BL=属性。而指令MOV AH,4CH/INT 21H,表示返回到DOC操作界面。七、程序流程图:程序开始运行后,先提示:please choose the letter y,s,z:,input q to quit然后操作者选择一个字母,

10、程序根据比较 :CMP AL,S JZ SA CMP AL,Z JZ ZHEN CMP AL,Y JZ YUA CMP AL,q JZ EXIT MOV DX,OFFSET INFO2 MOV AH,09 INT 21H若为S,则转到标号SA,进一步调用子程序SAN来画出三角形;若为Z,则转到标号ZHEN,进一步调用子程序ZHENG来画出矩形;若为Y,则转到标号YUA,进一步调用子程序YUAN来画出圆。若为q,则转到EXIT,转到DOC操作页面。若不是以上的字符,则提示输入错误,显示choose error!程序流程图如下所示:开始显示提示信息接收键盘输入是“Y”?是“S”?是“Z”?Call

11、 yuanCall san是“q”?Call zheng显示出错信息退出YYYNNNNY程序流程图八、文件的编辑、连接和运行结果8.1.汇编源程序文件(ASM,MASM)由编辑程序所建立的ASM文件只是个文本文件,计算机无法执行。需要经过汇编程序的汇编,使其转为目标代码文件。它是通过调用宏汇编MASM(或汇编程序ASM)程序完成这一汇编操作的。汇编程序还将对源文件进行语法检查,如发现有错,将给出错误原因。程序设计者可根据它分析和修改源程序,并再经过汇编,直到无错时为止,此时得到的是一个目标文件(OBJ文件)。8.2.连接目标文件(LINK)目标文件为浮动的相对地址,是不可直接执行的。必须经过连

12、接,把有关模块连接在一起,构成统一的编址,从而为运行提供条件。在运行时,装填到内存中的具体位置由段地址来确定。连接过程是由LINK连接程序实现的,止时得到的是一个可可执行文件(EXE文件)。8.3.运行可执行文件得到可执行文件后就可以直接调用可执行文件名,从盘上调到内存中运行。在出现的提示信息中,按Y键画圆;按S键画三角形;按Z键画正方形;按q键退出. 九、程序的调试:9.1程序结构设计特点通过设计三个子程序,分别实现画圆、画三角形和画矩形的功能,然后通过比较输入的字符,调用相应的子程序,完成不同的绘图。主程序和子程序间通过寄存器和约定内存单元的方法实现参数传递。9.2调试程序心得在调试中发现

13、很多错误都是有于没注意到一些小细节而出错,(例如:注释说明时忘了加“;”号,SEGMENT和ENDS、PROC和ENDP不匹配等),因此在写程序时所有的细节都要考虑到。 9.3程序不足在选择按键时候有一定的时间间隔,要等到出现提示后(即程序转入到INPUT处时)才能再次按键,否则就会转入循环状态。十、小结与体会:在整个设计程中,我分模块分别设计和调试,完成了最后的总设计。在设计过程中,经常会遇到这样那样的情况,就是心里想老着这样的编程可以行得通,但实际运行后,总是实现不了,因此耗费在这上面的时间用去很多。做课程设计同时也是对课本知识的巩固和加强,由于课本上的知识太多,平时课间的学习并不能很好的理解,而且考试内容有限,所以在这次课程设计过程中,我从根本上理解了很多很多知识点,并且对于它们在实际中的应用有了更多的认识。平时看课本时,有时问题老是弄不懂,做完课程设计,那些问题就迎刃而解了。而且还可以记住很多东西。平时看课本,这次看了,下次就忘了,认识来源

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号