微机原理与汇编程序.doc_第1页
微机原理与汇编程序.doc_第2页
微机原理与汇编程序.doc_第3页
微机原理与汇编程序.doc_第4页
微机原理与汇编程序.doc_第5页
免费预览已结束,剩余14页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

微机原理与汇编技术课程设计(论文)图形变换程序设计 院(系)名称电子与信息工程学院 专业班级计算机科学与技术 学号120401 学生姓名 指导教师 教授起 止 时 间: 2014.12.152014.12.26课程设计(论文)任务及评语院(系):电子与信息工程学院 教研室:计算机科学与技术学 号学生姓名专业班级课程设计(论文)题目图形变换程序设计课程设计(论文)任务按以下要求完成程序设计任务:完成一个图形变换的程序,系统具有4种可选择的功能,按字母Y画一个用点组成的圆;按字母S画一个用不同颜色填充的三角形;按字母Z画一个用不同颜色填充的矩形;按q键退出。指导教师评语及成绩平时成绩: 答辩成绩: 论文成绩: 总成绩: 指导教师签字: 年 月 日 本科生课程设计(论文)目录目录3第1章 综述11.1项目特点及目的11.2题目简介11.3 程序设计要求11.4工作环境1第2章 基本知识22.1编译环境简介22.2 MASM的使用22.3 编译步骤2第3章 程序设计33.1程序要求分析33.2设计思路33.3程序流程图3第4章 程序执行结果5第5章 总结7参考文献8附录9 本科生课程设计(论文)第1章 综述1.1项目特点及目的本课程设计是一次程序设计方法及技能的基本训练;通过实际程序的开发及调试,巩固课堂上学到的关于程序设计的基本知识和基本方法,进一步熟悉汇编语言的结构特点和使用;达到能独立阅读、设计编写和调试具有一定规模的汇编程序的水平,并掌握一些汇编语言常用程序的编写方法。1.2题目简介用8086汇编语言编写一个能实现图形变换的程序。程序能按要求实现按键控制图形。1.3 程序设计要求(1) 遵循模块化、结构化的编程思路。(2) 程序必须正确运行,生成.exe可执行文件。(3) 程序简明易懂,多标明注释,具有良好的程序书写风格。(4) 适当优化程序,提高程序的运行效率。1.4工作环境u使用的设备及软件为8086兼容机及MASM汇编开发软件。第2章 基本知识2.1编译环境简介MASM是微软公司开发的汇编开发环境,拥有可视化的开发界面,使开发人员不必再使用DOS环境进行汇编的开发,编译速度快,支持80x86汇编以及Win32Asm,是Windows下开发汇编的利器。它与windows平台的磨合程度非常好,但是在其他平台上就有所限制,使用MASM的开发人员必须在windows下进行开发。2.2 MASM的使用汇编语言的实现也是先利用某种编辑器编写汇编语言源程序(*.ASM),然后经过汇编得到目标模块文件(*.OBJ)、连接后形成可执行文件(*.EXE)。2.3 编译步骤1、先在TXT文件中书写汇编程序,保存格式为ASM格式。2、再用 MASM连编成OBJ文件,若有错误,则按照错误提示返回ASM文件 中修改。3、再用LINK将OB文件生成EXE文件。4、最后在DOS命令窗口下调用生成的EXE文件,做相应调试。第3章 程序设计3.1程序要求分析通过对课题深入探究,得到本次课程设计需要的一些软件。首先先要有一个汇编语言编辑器。本次使用的是masm for windows集成实验环境。由于此软件对win7的兼容有问题。不能全屏显示,“this system does not support fullscreen mode”在运行时会出现此种情况。通过上网查资料有如下解释,由于软件不兼容,建议使用其他的工具。由于题目要求按字母“Y”画一个用点组成的圆;按字母“S”画一个用不同颜色填充的三角形;按字母“Z”画一个用不同颜色填充的矩形;所以本程序需要有画点函数、清屏函数、画圆函数、设置写模式的函数。3.2设计思路 根据基本原理设计思路拟定出设计方案。先编写好三角形、圆形和正方形的子程序,以供之后段内调用子程序。之后再编写图形变换的子程序,利用转移指令,调用子程序以及中断程序和堆栈等功能来实现设计的功能。 从键盘上输入Y时,应出现以青色为底色的屏幕,在中间出现有十二个紫色点围成的圆,此时从键盘上输入S时,屏幕的底色为黑色,三角形应从屏幕的中上部开始出现,颜色由绿色变青色再变品红色;从键盘上输入Z时,会出现以黑色底色的屏幕,中间出现一个矩形,颜色由绿色变为青色再变为品红色再变为紫色等一系列变化。3.3程序流程图 开始从键盘读取字符y,s,z,q设置字符颜色 设置字符颜色 设置字符颜色设置光标位置 设置光标位置设置光标位置 设置时间控制 设置时间控制 设置时间控制 显示圆形图案 显示三角形图案 显示矩形图案 出屏 出屏 出屏 退出 第4章 程序执行结果按字母Y:图4-1 用点组成的圆按字母S:图4-2 不同颜色填充的三角形按字母Z:图4-3不同颜色填充的矩形按字母q: 返回到DOS界面 第5章 总结两周的汇编语言课程设计结束了,我的收获很大。通过课程设计的编程和对编程过程中遇到的问题的思考,有效的提高了我对汇编的认识和理解,切实的提高了我的编程能力,补全了我的不足。通过这次课程设计,我巩固所了学过的知识,能用汇编语言熟练地运用顺序、选择、循环三大结构,进一步掌握了各个指令的功能,特别是转向指令,掌握了子程序的定义及调用,以及正确地运用DEBUG指令。在整个程序的编写中,调试占了很大部分的时间。要想写好汇编语言的程序,必须认真对待代码的每一个细节,还必须熟练的掌握debug命令,这对程序的调试是非常重要的。通过这次实际动手能力的培养,我进一步熟悉了汇编语言的结构和使用方法,基本达到了能独立阅读、编制和调试一定规模的汇编语言程序的水平。另外,就是我对这门课内容的学习感受。要学好这门课,我认为应该做到以下三点:1) 课本上应该记住的东西一定要记住,记不住就没法做题,(例如指令,寻址方式等等)若记住你做题就会做,看程序也就能看懂,记不住见了它就会对它不知所措,一脸茫然。2)预习很重要,这一点不仅适用于这一科的学习,确切的说它适用于任何一科,有的同学这一点作的不好,上课只知道竖着两个耳朵傻傻的听老师讲课,也不注意动动脑子随时思考,延续以前填鸭式的学习方式,想让老师讲给所有的东西,殊不知很多东西还要自己从书本获得。这就难免出现听不懂的情况,这好比让一个不懂外语的人听外语录音,在他的心里,听外语就像听天书一般,所以说你要学一点新东西,前提是你对它要有一点了解,不然的话你所作的一切只不过是在浪费时间,浪费金钱,浪费生命。3)理论与实践相结合,不懂的地方应勤问老师勤问同学,直到把它搞懂为止。 本人签字:参考文献1 温冬蝉、沈美明IBM PC汇编语言程序设计北京:清华大学出版社,2007.52 刘其明.汇编语言程序设计教程.徐州:中国矿业大学出版社,20103 钱晓捷.新版汇编语言程序设计.北京:电子工业出版社,20074 何小海,严华. 微机原理与接口技术.北京:科学出版社,20065 周佩玲、彭虎、傅忠谦.微机原理与接口技术. 北京:电子工业出版社.,20056 马春燕.微机原理与接口技术实验与学习辅导. 北京:电子工业出版社.,20077 陈继红.微机原理及应用M.北京:高等教育出版社,2011:276-2838 周明德.微型计算机系统原理及应用M.北京:清华大学出版社,20079 雷印胜.微型计算机接口技术M.北京:科学出版社,2011附录程序源代码DATA SEGMENTINFO1 DB 0DH,0AH,please choose the letter y,s,z:;提示语句 DB 0DH,0AH,input q to quit,$ ;提示语句INFO2 DB 0DH,0AH,choose error!,$ ;提示语句 D3 DW 0TOTAL DB 12DOTYX DB 50,160 DB 60,135 DB 60,185 DB 75,115 DB 75,205 DB 95,110 DB 95,210 DB 110,114 DB 110,210 DB 130,135 DB 130,195 DB 145,165 DATA ENDS ;数据段结束STACKS SEGMENT STACK ;堆栈段 DB 200 DUP(0) STACKS ENDS ;堆栈段结束 CODE SEGMENT ASSUME CS:CODE,DS:DATA,SS:STACKSSTART PROC FAR MOV AX,DATA MOV DS,AX ;初始化数据段 MOV AH,0 MOV AL,4 INT 10HINPUT: LEA DX,INFO1 MOV AH,9 INT 21H MOV AH,08 INT 21H CMP AL,s ;与S进行比较 JZ SA ;若相等跳转到SA CMP AL,z ;与Z进行比较 JZ ZHEN ;若相等跳转到ZHEN CMP AL,y ;与Y进行比较 JZ YUA ;若相等跳转到YUA CMP AL,q ;与q进行比较 JZ EXIT ;若相等跳转到EXIT MOV DX,OFFSET INFO2 ;取INFO2偏移地址 MOV AH,09 INT 21HSA: CALL SAN ;调用SAN JMP INPUT ;跳转到INPUT ZHEN: CALL ZHENG ;调用ZHENG JMP INPUT ;跳转到INPUT YUA: CALL YUAN ;调用YUAN JMP INPUT ;跳转到INPUT EXIT: MOV AH,4CH ;返回DOS系统 INT 21H RET ;返回START ENDP SAN PROC NEAR PUSH AX ;压 栈 PUSH BX PUSH CX PUSH DX MOV AH,0 MOV AL,12H INT 10H MOV AL,1 A0: MOV DX,1 MOV D3,1 MOV CX,320 A1: PUSH CX PUSH D3 A2: MOV AH,12 PUSH AX INT 10H POP AX INC CX SUB D3,1 JNZ A2 POP D3 ADD D3,2 POP CX INC DX DEC CX JNE A1 INC AL CMP AL,5 JNE A0 POP DX POP CX POP BX POP AX RET SAN ENDP ;SAN子程序结束 ZHENG PROC NEAR PUSH AX PUSH BX PUSH CX PUSH DX MOV AH,0FH INT 10H MOV AH,0 MOV AL,3 INT 10H MOV CX,1 ;字符数量 MOV AH,2 MOV DH,5 ;5行开始 MOV DL,25 ;25列开始 INT 10H ;*光标向下动*LINE: MOV AH,2 INT 10H MOV AL,2 MOV AH,9 MOV BL,0E0H ;字符黄色 INT 10H INC DH ;行增加 CMP DH,20 ;20行 JNE LINE JMP LINE1 ; *光标向右动*LINE1: MOV AH,2 INT 10H MOV AL,2 MOV AH,9 MOV BL,0E0H ; 字符为黄色 INT 10H INC DL ; 列增加 CMP DL,55 ; 55列 JNE LINE1 JMP LINE2 ;*光标向上动*LINE2: MOV AH,2 INT 10H MOV AL,2 MOV AH,9 MOV BL,0E0H ;字符为黄色 INT 10H DEC DH CMP DH,5 JNE LINE2 JMP LINE3 ; *光标向左动* LINE3: MOV AH,2 INT 10H MOV AL,2 MOV AH,9 MOV BL,0E0H ; 字符为黄色 INT 10H DEC DL CMP DL,25 JNE LINE3 L00: MOV AH,7 MOV AL,14 MOV BH,20H ; 绿色 MOV CH,6 MOV CL,26 MOV DH,19 MOV DL,54 INT 10H ; *时间控制* L01: MOV AH,0 INT 1AH CMP DL,10 JNZ L01 L1: MOV AH,6 MOV AL,14 MOV BH,0F0H ; 白色 MOV CH,6 MOV CL,26 MOV DH,19 MOV DL,54 INT 10H L2: MOV AH,0 INT 1AH CMP DL,15 JNZ L2 L3: MOV AH,7 MOV AL,14 MOV BH,40H ;红色 MOV CH,6 MOV CL,26 MOV DH,19 MOV DL,54 INT 10HL4: MOV AH,0 INT 1AH CMP DL,30 JNZ L4L5: MOV AH,6 MOV AL,14 MOV BH,0D0H MOV CH,6 MOV CL,26 MOV DH,19 MOV DL,54 INT 10HL004: MOV AH,0 INT 1AH CMP DL,10 JNZ L004 L005: MOV AH,7 MOV AL,14 MOV BH,30H ; 青色 MOV CH,6 MOV CL,26 MOV DH,19 MOV DL,54 INT

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论