汇编语言课程设计17111.doc
文本预览下载声明
课程设计报告
目 录
第一章 前言 3
1.1 摘要 3
1.2基本功能要求 3
第二章 程序设计 4
2.1题目基本内容 4
2.2系统流程框图 5
2.3课程设计的具体内容说明 6
2.4课程设计中关键内容的分析设计说明 6
2.5运行截图 6
第三章 课程设计小结 7
参考文献 8
附录: 9
源程序代码 9
第一章 前言
1.1 摘要
本次课程设计,是使用汇编作为开发语言实现功能要求。总所周知,汇编是一个低级语言,对硬件有很大的依赖性,在使用上也不及高级语言方便,但其在执行效率上比高级语言有很大的优势。本次课程设计,一方面让我们再次熟悉汇编指令,再次对算法的设计有一定的要求。另一方面让我们对较大汇编程序的编写有一个清晰的过程,学习把一个教大问题分解成若干个小问题,即子程序是一个良好的编程习惯。掌握汇编指令,学习的理论知识应用于解决实际的问题。
1.2基本功能要求
显示一个数字的方阵,提示输入一个3-5的数字,根据输入的数字显示方阵,如输入4,输出
1 2 3 4
12 13 14 5
11 16 15 6
10 9 8 7
第二章 程序设计
2.1题目基本内容
设计题目:成绩评定
具体要求:
(1)输出提示输入,接受在一定范围内的指定数字,3到9之间,否则重新输入,如果是ESC键,则推出程序
(2)对接受的数字进行,数字矩阵的显示
2.2系统流程框图
主程序:
SHOW循环显示子程序: CRT子程序
Y
2.3课程设计的具体内容说明
根据课题的要求,主要完成一下几方面的设计:
1.显示提示输入,提示输入 ,并保证输入大于3小于9,否则重新输入
2.编写子程序,用算法实现每次形如矩形的输出,如
1 2 3 4
12 5
11 6
10 9 8 7
直至输出完毕
3.在输出时,如果是两位十进制数,使用设计子程序分别输出个位,十位值,若是一位十进制数,十位填充空格,输出。
2.4课程设计中关键内容的分析设计说明
1、要求输入介于3到9,如果输入不符合要求,不能显示其内容,要求重新输入,直至符合要求方显示。
2、算法实现并不是件简单的事情。高级语言可以设置二维数组实现,不必考虑其位数,输出也仅是一个元素值。而用汇编则遇到定位鼠标,才是显示,根据程序要求,想要达到程序要求,必须对鼠标位置做精确定位。汇编一次只能输出一个字符,对于二位十进制数据时,必须作出处理分别输出。如果对于一位二进制数不做处理,输出时的样子非常难看。处理方案是:当输出一位十进制数时,在十位位置填充空格,显示效果良好。
3、在汇编语言中,输出位置是在光标的位置显示,定位鼠标位置,在显示时没有选择DOS和BIOS中断,而是选择了教为简洁的STOSB的“显式操作数”形式 CODE SEGMENT
ASSUME CS:CODE,DS:CODE
ORG 100H
START:
PUSH CS
POP DS
MOV AX,3
INT 10H ;BIOS中断,置文本显示模式
MOV AX,0B800H
MOV ES,AX ;定位显存
MOV DX,OFFSET MSG
MOV AH,9
INT 21H ;提示
T0: MOV AH,0
INT 16H ;接收数据
CMP AL,1BH ;Esc键结束程序 esc(ascii=1Bh)
显示全部