首页 微机原理课设显示姓名

微机原理课设显示姓名

举报
开通vip

微机原理课设显示姓名微机原理课设显示姓名 华 北 水 利 水 电 学 院《微机原理及应用》课程设计说明书 2012年6月14日 华 北 水 利 水 电 学 院 课 程 设 计 说 明 书 课程 名 称:微机原理及应用 系 别 专 业:电力学院 自动化专业 学 号: 200908736 姓 名: 李** 指 导 教 师: 王** 华 北 水 利 水 电 学 院《微机原理及应用》课程设计说明书 2012年6月14日 一、要求 1)利用80x86汇编语言BIOS中断调用的方法,通过‘*’等字符设计自己的名字及学号...

微机原理课设显示姓名
微机原理课设显示姓名 华 北 水 利 水 电 学 院《微机原理及应用》课程设计说明书 2012年6月14日 华 北 水 利 水 电 学 院 课 程 设 计 说 明 书 课程 名 称:微机原理及应用 系 别 专 业:电力学院 自动化专业 学 号: 200908736 姓 名: 李** 指 导 教 师: 王** 华 北 水 利 水 电 学 院《微机原理及应用》课程设计说明书 2012年6月14日 一、要求 1)利用80x86汇编语言BIOS中断调用的方法,通过‘*’等字符设计自己的名字及学号,并在显示器上用6种以上的颜色显示出来; 2)动态切换姓名与学号; 3)可自行设计显示姓名及学号的 方案 气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载 。 二、分析 1)BIOS中断调用: BIOS常驻ROM,独立于DOS,可与任何操作系统一起工作。它的主要功能是驱动系统所配置的外部设备,如磁盘驱动器、显示器、打印机及异步通讯接口等。通过INT 10H,INT 1AH向用户提供服务程序的入口,使用户无需对硬件有深入了解,就可完成对I/O设备的控制与操作。BIOS的中断调用与DOS功能调用类似。 2)图形设计: 掌握BIOS中断调用INT 10H的13H号功能。注意13H号功能入口参数的要求。 3)颜色显示: 在彩色显示屏幕上每个字符在存储中用两个字节表示。一个字节保存字符的ASCII码,另一个字节保存字符的属性。BIOS中断调用INT 10H的13H号功能是显示字符串,字符的属性在BL中。属性设置方法见教材第四章141页。 华 北 水 利 水 电 学 院《微机原理及应用》课程设计说明书 2012年6月14日 三、软件设计 1.设计详细的程序流程图: 程序设有一个主页面,通过主页面可以调用两个子程序,通过子程序来显示所要显示的程 序,该实验程序是按照实验七改编而成,故所化程序流程图如下: 主程序流程图 : 显示子程序图 : 开始 发生调用 取待显示的 定义: 菜单字符 ; 字符的地址 、 长度 ; 花样数据 显示属性 。 保护现场 初始化 ES DS 赋值给 显示提示信息 等待输入 清屏 调整颜色指向 下一种显示属性 bios 调用 功能 --- 显示字符串 bios 调用 读取 键盘输入 N 恢复现场 Y ? Y Y Esc , N 返回 ECHO1 ECHO2 调用 调用 [NAME] 显示 [ 显示 [ NUMBER] 结束 华 北 水 利 水 电 学 院《微机原理及应用》课程设计说明书 2012年6月14日 2.根据流程图,编写源程序: 程序代码及详细说明: ROW=8 COLUM=00 ESCKEY=1BH DSEG SEGMENT MENU DB 0DH,0AH,'---------------COMTENT------------------------',0DH,0AH DB 0DH,0AH,'1.SHOW THE[NAME],PRESS "Y".' DB 0DH,0AH,'2.SHOW THE[NUMBER],PRESS ANY KEY!' DB 0DH,0AH,'3.TO EXIT,PRESS THE [ESC].' N = $-MENU MESS1 DB '+----------------------------------------------------------------------------+ ' DB '| WEI JI YUAN LI JI YING YONG | ' DB '| * * | ' DB '| * ! *** *** *** ! *********** | ' DB '| ****************** ** ** ** * * | ' DB '| * * * ! * * * ! * ******* * | ' DB '| * * * ********* *********** * * | ' DB '| * * * ! * * ! * ******* * | ' DB '| * * * * * * * | ' DB '| * * * ! * *************** ! *********** | ' DB '| ************* * * * | ' DB '| ** ! * * * * ! | ' DB '| * * * * ****************** ** | ' DB '| ***************** ! * * * ! ***** * | ' DB '| * * * ******* ******** | ' DB '| * ! * * ! * * * | ' DB '| * * * * * * * | ' DB '| * * ! * * ! * * * * * | ' DB '| * * * ****** * * | ' DB '| HAPPY ! EVERY ! DAY! | ' DB '+-----------------------------------------------------------------------------+ ' MESS_LEN1 = $-OFFSET MESS1 MESS2 DB '+------------------------------------------------------------------------------+' DB '| |' DB '| ******** ******* ******* ******* ******* ******* ******* ******* ******* |' DB '| * * ** * ** * * * ** * * * * * |' 华 北 水 利 水 电 学 院《微机原理及应用》课程设计说明书 2012年6月14日 DB '| * * ** * ** * * * ** * * * * * |' DB '| * * * * * * * * * * * * * * * * * |' DB '| ******** * * * * * * ******* * * * ******* * ******* ******* |' DB '| * * * * * * * * * * * * * * * * * |' DB '| * ** * ** * * ** * * * * * * * |' DB '| * ** * ** * * ** * * * * * * * |' DB '| ******** ******* ******* ******* ******* ******* * ******* ******* |' DB '| |' DB '+-----------------------------------------------------------------------------+|' MESS_LEN2 = $-OFFSET MESS2 COLORB DB 4AH,3AH,14H,52H,4FH,74H,2EH,59H,6FH,6DH,20H COLORE LABEL BYTE DSEG ENDS CSEG SEGMENT ASSUME CS:CSEG,DS:DSEG,ES:DSEG START: MOV DI,OFFSET COLORB-1 ;预置颜色指向 MOV AX,DSEG MOV DS,AX MOV ES,AX LEA BP,MENU ;显示提示菜单 MOV AH,13H MOV AL,01 MOV CX,N MOV BL,0BH MOV BH,0 MOV DX,0 INT 10H NEXTC: INC DI ;改变颜色 CMP DI,OFFSET COLORE JNZ NEXTE MOV DI,OFFSET COLORB NEXTE: MOV BL,[DI] MOV AH,0 ;选择要显示的字符 INT 16H CMP AL,'Y' JZ C1 ;调用子程序1 CMP AL,1BH ;退出 JZ OVER1 JMP C2 ;调用子程序2 C1:CALL ECH1 华 北 水 利 水 电 学 院《微机原理及应用》课程设计说明书 2012年6月14日 JMP NEXTC OVER1: MOV AX,4C00H INT 21H C2:CALL ECH2 JMP NEXTC MOV AX,4C00H INT 21H ECH1 PROC NEAR ;子程序1,显示MESS1 MOV SI,OFFSET MESS1 MOV CX,MESS_LEN1 MOV DH,ROW MOV DL,COLUM CALL CLS CALL ECHO CALL DELAY RET ECH1 ENDP ECH2 PROC NEAR ;子程序2,显示MESS2 MOV SI,OFFSET MESS2 MOV CX,MESS_LEN2 MOV DH,ROW MOV DL,COLUM CALL ECHO RET ECH2 ENDP ECHO PROC NEAR ;调用字符子程序 MOV BH,0 MOV AH,2 INT 10H MOV AL,20H INT 10H MOV AH,0EH ECHO1: MOV AL,[SI] INC SI INT 10H CALL DELAY LOOP ECHO1 RET ECHO ENDP 华 北 水 利 水 电 学 院《微机原理及应用》课程设计说明书 2012年6月14日 CLS PROC NEAR ;清屏子程序 PUSH AX PUSH BX PUSH CX PUSH DX MOV CH,0 MOV CL,0 MOV DH,25 MOV DL,80 MOV BH,07 MOV AL,0 MOV AH,6 INT 10H POP DX POP CX POP BX POP AX RET CLS ENDP DELAY PROC NEAR ;延时 PUSH CX PUSH DX MOV DX,4000 WAIT1:MOV CX,2108 WAIT2:LOOP WAIT2 DEC DX JNZ WAIT1 POP DX POP CX RET DELAY ENDP CSEG ENDS END START 四 程序的调试与运行结果说明 4.1程序调试 程序的分析、代码的编写完成后,开始对代码进行编译和调试,我们采用 masm 环境对所编代码进行调式、编译,用DEBUG命令进行调试,程序调试图如 华 北 水 利 水 电 学 院《微机原理及应用》课程设计说明书 2012年6月14日 下: 图4—1 调试图 4.2程序运行 1.打开所在文件夹MASM,找到刚刚编译过的程序8736.asm,点击8736.exe程 序运行如下: 图4-2-1.菜单提示界面 华 北 水 利 水 电 学 院《微机原理及应用》课程设计说明书 2012年6月14日 2(点击键盘“Y”,运行过程如下: , , 图4-1-2.输入一般字符时(非Esc、非Y)的显示画面 华 北 水 利 水 电 学 院《微机原理及应用》课程设计说明书 2012年6月14日 3.输入非Y、非ESC,运行结果如下: , , 图4-1-3.输入Y后,显示的画面 华 北 水 利 水 电 学 院《微机原理及应用》课程设计说明书 2012年6月14日 五 课程设计 总结 初级经济法重点总结下载党员个人总结TXt高中句型全总结.doc高中句型全总结.doc理论力学知识点总结pdf 5.1设计的特点、不足 在动画程序中,通过行列变化,以一定的速度产生字符,显示出自己的学号和姓名,实现动态的效果,让人在视觉上产生美感,程序尚有不足,比如颜色没法变化,姓名显示方法单一等。 5.2收获与体会 在这次的课程设计中,通过实践操作,加深了对汇编语言的了解,增强了汇编的使用能力,有了整体的了解和把握。汇编语言虽然是门低级语言,解决问题的难度有限,但是它的与计算机硬件的紧密关系使的它有着独特的优点。汇编语言程序设计虽然是一门低级语言的程序设计,但是它的学习和我们以往所学习的高级语言程序设计又有相通之处:算法是程序设计的灵魂,而计算机的硬件条件又决定了程序设计的环境。因此在实践程序设计的过程中,要坚持软件与硬件相结合的原则,多探究计算机的内部构造及执行和相应程序的原理。 课程设计是个小工程,需要从多方面考虑用户的要求,即完善功能又要用户使用起来比较方便,当然也要考虑时间和效率。课程设计对我们多数初学汇编的学生来说,确实是个一座高峰。翻越它是要付出诸多努力的。我也是摸索了好久才弄明白它的。为了避免寄存器冲突的问题,在设计子程序时,应把所有用到的寄存器都入栈保存,但用来传递参数和结果的寄存器则要注意,不必入栈的就不入栈了,以免得不到预期的结果。 可以把寄存器当作变量来看待,有时候它存储的是数据变量 ,而有时候它存储的是地址变量(如DI、SI);内存中的数据,按它们的结构关系,则可以把它们看待成数组,我们对数组,可以通过首地址来访问它们。 传递参数和结果的,一般可以用寄存器,也可以用一段内存空间来传递,特别是需要传递的数据较多的时候。 在设计子程序时,往往涉及到许多的循环,这时候就要注意把不该循环的变量要放在循环体外。 两周的汇编语言课程设计结束了,我的收获是很大的。通过课程设计的编程和对编程过程中遇到的问题的思考,有效的提高了我对汇编的认识和理解,切实的提高了我的编程能力,补全了我的不足。通过这次课程设计,我巩固所了学过的知识,能用汇编语言熟练地运用顺序、选择、循环三大结构,进一步掌握了各 华 北 水 利 水 电 学 院《微机原理及应用》课程设计说明书 2012年6月14日 个指令的功能,特别是转向指令,掌握了子程序的定义及调用,以及正确地运用DEBUG指令。在整个程序的编写中,调试占了很大部分的时间。要想写好汇编语言的程序,必须认真对待代码的每一个细节,还必须熟练的掌握debug命令,这对程序的调试是非常重要的。通过这次实际动手能力的培养,我进一步熟悉了汇编语言的结构和使用方法,基本达到了能独立阅读、编制和调试一定规模的汇编语言程序的水平 另外,我觉得,学习汇编有一个比较大的好处,就是可以了解到在电脑中每一个字节数据的来龙去脉,我觉得学习汇编可以发挥一下自己的空间想像力,特别是对内存中数据的组织、存储关系的想像。 当然,学习汇编还有另一个重要的收获,就是如何处理数据的问题。
本文档为【微机原理课设显示姓名】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_083599
暂无简介~
格式:doc
大小:85KB
软件:Word
页数:14
分类:
上传时间:2018-08-22
浏览量:69