武汉理工大学《微机原理与接口技术》课程设计说明书
CODE END END START
3.3.2显示汉字子程序及功能说明
PRINTF MACRO _STRING,_PY,_PX ;宏 用于显示器打印 三个参数分别是要显示的字符串,行号,列号
MOV AH, 02H ;
MOV BH, 0 ; 设置显示的页号 MOV DL, _PX ; 当前显示的列号 MOV DH, _PY ; 当前显示的列号 INT 10H ; 当前光标位置设置 MOV AH, 09H ; 指令设置
MOV BL, 78H ; 指令设置
LEA DX, _STRING ; 显示的字符串 INT 21H ; ENDM ;宏结束
STACKS SEGMENT STACK ;堆栈设置 DB 2000 DUP(?)
;长度为2000字节
TOP LABEL WORD ;
STACKS ENDS ; 堆栈设置完成
5
武汉理工大学《微机原理与接口技术》课程设计说明书
3.3.3提示信息子程序及其功能说明
BEGIN:
MOV AH,01 ;从键盘输入字符 INT 21H
CMP AL,'Q' ;输入Q键则退出程序 JE EXIT
CMP AL,'W' ;输入R键则转移 JE AA
CMP AL,'C' ;输入L键则转移 JE BB
JMP BEGIN ;返回BEGIN
AA: MOV YANSE ,70H ;
CALL MOVE_SHAPE_B YANSE ,70H 改变此值可以改变颜色
JMP MAIN
BB: MOV YANSE ,35H ;
CALL MOVE_SHAPE_C YANSE ,35H 改变此值可以改变颜色
JMP MAIN
6
;改变颜色 ;改变颜色白底黑字 彩色显示 武汉理工大学《微机原理与接口技术》课程设计说明书
4测试记录及其结果分析
编写好程序后即可运行测试程序,在刚开始调试的时候姓名显示的并不清晰,有时根本认不出来自己的姓名,经过仔细检查,最终发现汉字取模软件中方格数错了,经过多次计算并多次确认最终得到了正确的姓名模型。另外,通过修改延迟子程序中的程序循环次数可以改变姓名的下落速度的快慢。
5程序调试
“DB 2000 DUP(?) ;长度为2000字节” 报错,错误提示为“ unterminated string:2000 DUP("") ”,尝试把DUP改为dup,之后依然报错,于是通过在网上查找方法,和查找书籍,发现emu8086不可以使用dup(?)来分配未初始化的单元,于是把 “DB 2000 DUP(?) ;长度为2000字节” 换成“buffer db 128 dup(0)”即可。
7
程序调试过程中,在堆栈设置中设置长度为2000字节时使用的语句
武汉理工大学《微机原理与接口技术》课程设计说明书
6小结
课程设计是我们大学课堂,特别是我们工程学科的重要组成部分,是我们把课堂中学到的理论知识运用到实践的重要途径。课程设计使我们在短时间内独自完成一个程序的设计、运行、调试,能提高我们对所学课程的应用能力,加深对所学课程的理解,不仅可以巩固课堂上学过的知识,而且可以学到很多在书本上所没有学到过的知识,拓宽了自己的知识面。
大学不能想中学那样,针对一个考试,进行三年的填鸭式教育,大学需要面向社会、市场需求,培养出能做事,有创造力的学生来,而不是只会考试的书呆子。我们平时在课堂上,书本上接触的程序都是很短、很基础的,所以总认为像画程序框图,设计程序算法之类的步骤都是多此一举,也很少会认识到模块化程序设计的重要性。而通过这次课程设计,我深刻地体会到这些步骤都是多么的重要。选择了好的算法,往往能节省很多编程的时间,还能优化程序,使程序执行地更加快速流畅。而程序框图可以使我们非常清楚的知道、明晰每一步要做什么,每一步要完成什么任务,这对于我们来说将是一个很明确的指导,并且有利于查错。模块化程序设计把程序分段,思路清晰,有利于编程,也容易查错和修改程序,同时,使其他程序员能看懂我们写的程序。
7参考文献
[1] 周佩玲.微机原理与接口技术基于16位机.电子工业出版社,2005 [2] 仇玉章,冯一冰.微计算机技术—实验与辅导.清华大学出版社,2006 [3] 姚燕南,薛钧义.微型计算机原理与接口技术.高等教育出版社.2004 [4] 石冰.计算机硬件原理与接口技术(第二版).清华大学出版社,1993 [5] 蓝琚成,肖金秀.Windows环境下汇编语言程序设计.北京:地质出版社,2001
8