ImageVerifierCode 换一换
格式:DOCX , 页数:19 ,大小:132.23KB ,
资源ID:4362664      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4362664.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(微机课程设计.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

微机课程设计.docx

1、微机课程设计目 录摘 要 - 1 -一设计的题目 - 2 -二设计目的 - 2 -三设计内容 - 2 -3.1程序的内容与要求 - 2 -3.2程序运行条件 - 2 -3.3输入/输出描述 - 3 -四设计方案 - 4 -五程序结构 - 4 -5.1段定义说明 - 4 -5.2子程序功能说明 - 5 -5.3算法描述 - 5 -六程序流程图 - 6 -七文件的编辑、连接和运行结果 - 9 -7.1汇编源程序文件(ASM,MASM) - 9 -7.2连接目标文件(LINK) - 9 -7.3运行可执行文件 - 9 -八程序的调试 - 10 -8.1程序结构设计特点 - 10 -8.2调试程序心得

2、 - 10 -九设计总结 - 10 -参考文献 - 13 -附录 - 14 -微机原理 课程设计任务书20112012学年 第一学期第17周18周 题目图形变换程序内容及要求结合微机原理知识,查阅有关资料,完成一个图形变换的程序编写,系统具有4种可选择的功能,按字母“Y”画一个由点组成的园;按字母“S”画一个由不同颜色填充的三角形;按字母“Z”画一个由不同颜色填充的矩形;按字母“Q”退出。 进度安排1、查找资料,提出总体方案 1天2、分析、设计、调试、实现 3天3、检查、整理、写设计报告、小结 1天学生姓名:指导时间:2011-12-15至2011-12-29指导地点:任务下达2011年12月

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

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

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

6、.3输入/输出描述输入Y 输入S输入Z输入q返回到DOS界面。四设计方案BIOS调用中并没有现成的显示圆、三角形和矩形的功能,故编写了三个子程序,采用段内调用子程序的方法来实现。其中圆用在屏幕上显示12个小圆点以围成一个圆来实现,12个小圆点的行列坐标事先定义在一个变量中。三角形和矩形的实现原理是采用控制写点的方式,行、列、块的颜色不是采用变量表示,此处的三角形用寄存器表示,使用了堆栈技术,矩形使用的也是寄存器,但没有使用堆栈。整个程序的结构如图所示。五程序结构5.1段定义说明分为数据段DSEG、堆栈段SSEG和代码段CSEG。堆栈段是为一些字符串和图形的光标位置及其他一些数据分配空间;数据段

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

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

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

10、选择一个字母,程序根据比较:CMP AL,SJZ SACMP AL,ZJZ ZHENCMP AL,YJZ YUACMP AL,qJZ EXITMOV DX,OFFSET INFO2MOV AH,09INT 21H若为S,则转到标号SA,进一步调用子程序SAN来画出三角形;若为Z,则转到标号ZHEN,进一步调用子程序ZHENG来画出矩形;若为Y,则转到标号YUA,进一步调用子程序YUAN来画出圆。若为q,则转到EXIT,转到DOC操作页面。若不是以上的字符,则提示输入错误,显示choose error!程序流程图如下所示:七文件的编辑、连接和运行结果7.1汇编源程序文件(ASM,MASM)由编辑

11、程序所建立的ASM文件只是个文本文件,计算机无法执行。需要经过汇编程序的汇编,使其转为目标代码文件。它是通过调用宏汇编MASM(或汇编程序ASM)程序完成这一汇编操作的。汇编程序还将对源文件进行语法检查,如发现有错,将给出错误原因。程序设计者可根据它分析和修改源程序,并再经过汇编,直到无错时为止,此时得到的是一个目标文件(OBJ文件)。7.2连接目标文件(LINK)目标文件为浮动的相对地址,是不可直接执行的。必须经过连接,把有关模块连接在一起,构成统一的编址,从而为运行提供条件。在运行时,装填到内存中的具体位置由段地址来确定。连接过程是由LINK连接程序实现的,止时得到的是一个可可执行文件(E

12、XE文件)。7.3运行可执行文件得到可执行文件后就可以直接调用可执行文件名,从盘上调到内存中运行。在出现的提示信息中,按Y键画圆;按S键画三角形;按Z键画正方形;按q键退出。八程序的调试8.1程序结构设计特点通过设计三个子程序,分别实现画圆、画三角形和画矩形的功能,然后通过比较输入的字符,调用相应的子程序,完成不同的绘图。主程序和子程序间通过寄存器和约定内存单元的方法实现参数传递。8.2调试程序心得在调试中发现很多错误都是有于没注意到一些小细节而出错,(例如:注释说明时忘了加“;”号,SEGMENT和NDS、PROC和ENDP不匹配等),因此在写程序时所有的细节都要考虑到。九设计总结一周的汇编

13、语言课程设计结束了,我的收获很大。通过课程设计的编程和对编程过程中遇到的问题的思考,有效的提高了我对汇编的认识和理解,切实的提高了我的编程能力,补全了我的不足。通过这次课程设计,我巩固所了学过的知识,能用汇编语言熟练地运用顺序、选择、循环三大结构,进一步掌握了各个指令的功能,特别是转向指令,掌握了子程序的定义及调用,以及正确地运用DEBUG指令。在整个程序的编写中,调试占了很大部分的时间。要想写好汇编语言的程序,必须认真对待代码的每一个细节,还必须熟练的掌握debug命令,这对程序的调试是非常重要的。通过这次实际动手能力的培养,我进一步熟悉了汇编语言的结构和使用方法,基本达到了能独立阅读、编制

14、和调试一定规模的汇编语言程序的水平。另外,就是我对这门课内容的学习感受。要学好这门课,我认为应该做到以下三点:1) 课本上应该记住的东西一定要记住,记不住就没法做题,(例如指令,寻址方式等等)若记住你做题就会做,看程序也就能看懂,记不住见了它就会对它不知所措,一脸茫然。2)预习很重要,这一点不仅适用于这一科的学习,确切的说它适用于任何一科,有的同学这一点作的不好,上课只知道竖着两个耳朵傻傻的听老师讲课,也不注意动动脑子随时思考,延续以前填鸭式的学习方式,想让老师讲给所有的东西,殊不知很多东西还要自己从书本获得。这就难免出现听不懂的情况,这好比让一个不懂外语的人听外语录音,在他的心里,听外语就像

15、听天书一般,所以说你要学一点新东西,前提是你对它要有一点了解,不然的话你所作的一切只不过是在浪费时间,浪费金钱,浪费生命。3)理论与实践相结合,不懂的地方应勤问老师勤问同学,直到把它搞懂为止。指导教师评语:课程设计成绩: 指导教师签名: 年 月 日参考文献1 沈美明、温冬蝉编.IBM-PC汇编语言程序设计,第2版,清华大学出版社,2001.2 沈美明、温冬蝉编.IBM-PC汇编语言程序设计例题习题集,清华大学出版社,1991.3 陆忠华等编.汇编语言程序设计,科学出版社,1993.4 迟成文、王保秀编.汇编语言程序设计”,中国科学技术大学出版社,1993.5 杨季文等编.80X86编语言程序设

16、计教程,清华大学出版社,1998.6钱晓捷主编.微机原理与接口技术,第4版,机械工业出版社,2008.7沈美明等编著.80X86汇编语言程序设计,清华大学出版社,2001.8杨素行等编著.微型计算机系统原理及应用,第2版,清华大学出版社,2004.9刘兆瑜主编.微机原理与接口技术,国防科技出版社2010.附录源程序代码(简单注释)DSEG 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

17、DB 12DOTYX DB 50,160 DB 60,135 DB 60,185DB 75,115DB 75,205DB 95,110DB 95,210DB 110,114DB 110,210DB 130,135DB 130,195DB 145,165DSEG ENDSSSEG SEGMENT STACK DB 200 DUP(0)SSEG ENDSCSEG SEGMENT ASSUME CS:CSEG,DS:DSEG,SS:SSEGSTART: MAIN PROC FAR MOV AX,DSEG MOV DS,AX MOV AH,0 ;设置显示模式MOV AL,4 ;显示模式代号INT 10

18、H ;10H号中断,显示I/O程序INPUT: LEA DX,INTO1 ;要输出字符串首地址 MOV AH,9 ;在标准输出上显示一个字符串 INT 21H MOV AH,08 ;不带回显键盘输入,出口参数al INT 21H 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 21HSA: CALL SANJMP INPUTZHEN:CALL ZHENG JMP INPUTYUA:CALL YUAN JMP INPUTEXIT:MOV AH,4C

19、H INT 21HRETMAIN ENDPSAN PROC NEAR PUSH AX PUSH BX PUSH CX PUSH DX MOV AH,0 MOV AL,12H INT 10H ;显示I/O程序 MOV AL,1A0: MOV DX,1 MOV D3,1 MOV CX,320A1: PUSH CX PUSH D3A2: MOV AH,12 PUSH AX INT 10H ;显示I/O程序 POP AXINC CX SUB D3,1 JNZ A2 POP D3 ADD D3,2 POP CX INC DX DEC CX JNE A1 INC A1 CMP AL,5 JNE A0 PO

20、P DX POP CX POP BX POP AXRETSAN NEDPZHENG 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

21、 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 ;5行 JNE LINE2 JMP LINE3;*光标向左动*L

22、INE3:MOV AH,2 INT 10H MOV AL,2 MOV AH,9 MOV BL,0E0H ;字符为黄色 INT 10H DEC DL ;列减少 CMP DL,25 ;25列 JNE LINE3L00: 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:

23、 MOV AH,6 ;向上滚屏 MOV AL,14 MOV BH,0F0H ;白色 MOV CH,6 MOV CL,26 MOV DH,19 MOV DL,54 INT 10HL2: MOV AH,0 INT 1AH ;时钟管理 CMP DL,15 JNZ L2L3: 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 ;

24、品红 MOV CH,6 MOV CL,26 MOV DH,19 MOV DL,54 INT 10HL004: MOV AH,0 INT 1AH ;时钟管理 CMP DL,10 JNZ L004L005: MOV AH,7 ;向下滚屏 MOV AL,14 MOV BH,30H ;青 MOV CH,6 MOV CL,26 MOV DH,19 MOV DL,54 INT 10H;*时间控制* MOV AH,2 ;置光标位置 MOV DH,23 ;行号 MOV DL,0 ;列号 INT 10H POP DX POP CX POP BX POP AXRETZHENG EDNPYUAN PROC NEAR

25、 PUSH AX PUSH BX PUSH CX PUSH DX MOV AX,0004H INT 10H MOV BX,00 PUSH BX MOV AH,0BH INT 10H MOV BX,0003H MOV AH,0BH INT 10H MOV BL,TOTAL MOV SI,OFFSET DOTYX MOV CH,0 MOV DH,CHPLO: MOV DL,SI MOV CL,SI+1 MOV AL,02H MOV AH,0CH INT 10H INC SI INC SI DEC BL JNZ PLO MOV BX,50 POP BX POP DX POP CX POP DX POP AXRETYUAN ENDPCSEG ENDSEND START

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1