汇编语言课程设计在显示器上倒显示九九表Word文档格式.docx
- 文档编号:21830917
- 上传时间:2023-02-01
- 格式:DOCX
- 页数:16
- 大小:137.04KB
汇编语言课程设计在显示器上倒显示九九表Word文档格式.docx
《汇编语言课程设计在显示器上倒显示九九表Word文档格式.docx》由会员分享,可在线阅读,更多相关《汇编语言课程设计在显示器上倒显示九九表Word文档格式.docx(16页珍藏版)》请在冰豆网上搜索。
27
18
9
64
56
48
40
32
24
16
8
49
42
35
28
21
14
7
30
12
6
25
20
15
10
5
4
3
2
1
主要任务:
(在规定的时间内完成下列任务)
1.按“1”显示黑白色倒九九表
2.按“2”倒九九表三角形边框用彩色(颜色自定)其它黑白色
3.按“3”在图形下方显示自己的学号和姓名(汉语拼音)
4.按“A”倒九九表三角形边框用彩色自动变色
时间安排:
2014年01月6日
布置题目,确定任务、查找相关资料
01月7日~01月9日
功能分析,模块设计,编写程序,调试程序
01月10日
答辩后撰写设计报告。
设计报告撰写格式要求:
(按提供的设计报告统一格式撰写)
1、题目:
2、设计目的:
3、设计内容:
写出简要的程序功能描述、程序运行条件--所需工具软件、输入/输出描述等。
4、程序结构:
①主要的段定义说明;
②用到的子程序(宏)的功能说明、调用关系说明、参数传送方式说明等;
③主要算法描述等(各模块功能实现及典型指令的应用)。
5、设计步骤(注明时间安排)
6、程序流程图、源程序(程序必须有简单注释,源程序若太长,可作为附录)
7、实验结果(输出)
8、其他值得说明的内容
(1)程序结构设计特点;
(2)设计、调试程序心得、体会或不足。
附录:
源程序代码(必须有简单注释)
参考文献
指导教师签字:
2013年12月10日
系主任签字:
年月日
第一章需求分析
1.1题目:
1.2设计目的
1.巩固和加深课堂所学知识;
2.将课本上的理论知识和实际应用有机的结合起来,培养同学们分析和解决实际问题的能力;
3.通过对汇编语言程序代码的阅读、修改、设计,理解和掌握复杂的汇编语言应用程序的编程,提高实践编程能力。
1.2.1设计内容
5.按其他键会退出。
1.3程序运行条件
用汇编语言编写出完整的程序,然后编译,分步运行,调试每一部分的程序,然后把代码写到记事本上,改一下文件的扩展名asm。
然后利用tddebug来运行。
注意运行的程序和运行的工具要放在一个文件里。
1.4所需工具软件
所需要的工具有:
tddebug.exe,,link.exe,run.exe,obj.exe等工具。
1.5输入/输出描述
先打开tddebug。
在运行程序时按动alt+c,按动上下键选择link后再输入程序的名称,然后按alt+c,按动上下键选择build
all,软件自动添加刚刚运行的程序名。
最后生成一个obj文件和一个exe文件。
打开exe文件就可以执行程序了,然后按动键盘1,2,3,A等按键,实现以上所述功能。
第二章程序结构
2.1各模块功能介绍
STR标志着函数开始执行;
FUNTION是为了先清屏再在屏幕上打印出功能列表,提示使用者使用哪些按键并且换行两次;
;
tiao是为了在每次按入字符时进行判断,然后跳到相应的程序段上去;
black,color,name,zhidong分别为按下数字键‘1’,‘2’,‘3’,‘A’,后程序跳到该段开始执行,属于主要的分之模块;
out输出需要输出的字符并且判断什么时候是彩色输出什么时候是黑白输出;
CRLF进行换行动作;
SPACE用于对数据输出时输出数据地址的空格;
DISPLA实现将输出的数字用ascll码表示并且调用out子程序输出字符;
CLRSLR的功能是清标准屏子程序;
WRITECC为色彩字符输出子程序。
2.2算法及各寄存器的功能
在打印左边数据时,BH控制行为被乘数,BL控制列为乘数;
DL存放打印字符的ASCLL码,DH存放打印字符的颜色值。
AL当作被乘数并且存放相乘的结果。
第三章详细设计
3.1设计步骤
1分析题目,查阅相关参考资料,对设计项目的功能初步了解。
2完成程序的模块化设计,主要包括了解已有程序的功能,还需要哪些功能,并查阅相关资料。
3对各个模块进行编程,并将其联系到一起,整合程序并调试。
这是最难也是最关键的一步,因为有些寄存器可能有冲突,里面的数据可能因为另一功能模块调用而改变;
更要注意程序执行过程中的跳转情况,不然会达不到预期的效果;
在实现基本功能后,老师提出了一些很好的建议,如:
按回车键后程序才开始按给定的数据去执行,让提示信息放在更合理的位置等。
虽然有些功能实现起来感觉比较困难,但只要多想想,多查阅一些资料,其实都是可以解决的。
4.答辩并书写实验报告书。
3.2程序流程图、源程序
是
否
是
第四章程序调试与操作说明
4.1输出截图
图1.运行程序后,没按按键前的界面
图2.按1显示的界面
图3.按2显示的界面
图4.按3显示的界面
图5.按A后显示的其中一个界面
图6.按A后显示的一个画面
第五章心得体会及附录
5.1心得体会
通过这一次的汇编实训,我收获到了很多,对常用汇编指令有了深刻的认识并且能够合理的运用,对功能调用指令也有了认识和了解。
首先是对汇编语言性质的认识,汇编语言是低级语言,是与各种寄存器和堆栈联系紧密的机器底层语言。
之前在课堂上接触到的程序没有针对性,仅仅靠考试和平时的习题远远达不到编程训练的要求,经过这次课程设计之后我才知道我们平时上课学的那只是皮毛中的皮毛,而且要学好汇编必须认真的投入进去。
在我学习汇编语言之前我也学过其他的高级语言,接触汇编之后感觉这是门复杂的课程,较之高级语言,它代码量大,难懂。
经过这次课程设计之后我了解到只要认真投入地去思考机器是如何进行逻辑思考的并且熟悉指令,汇编语言的趣味性比高级语言更强。
通过这次对汇编的深刻了解,我发现汇编程序其实还是很有趣味的。
首先他指令的严谨性比之高级语言要强很多,而且他的指令简单,一条指令,最多有一个指令操作符,目的操作数和源操作数,相对高级语言的长程序还是比较简单的,至于难懂,我认为对汇编熟悉后,基本上还是很容易理解的。
这次的实训,我不光对汇编程序语言有了深刻的理解,而且还学习到了其他的道理。
其实,那些所谓的困难,当自己深入理解后,就会觉得那些困难也不过如此。
人生不要被困难给打败,给自己信心,一定会战胜困难!
5.2答辩记载
DATASEGMENT
NUMDB0AH,0DH,'
10210411209LiangHaiChuan'
0ah,0dh,'
$'
FUNDB0AH,0DH,'
enter1-->
blackprin,2-->
colorprin,3-->
nameprin,A-->
zhidongprin'
colDB00001000b,00001011b,00000111b,00001111b,00001001b
DB00001110b,00001111b,00001100b,00001010b,00001101b
FLADB00H
DATAENDS
STAKSEGMENTSTACK
DW100HDUP(?
)
STAKENDS
CODESEGMENT
ASSUMECS:
CODE,SS:
STAK,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX
;
========MAIN()===============================
CALLFUNTION
MOVAH,1
INT21H
calltiao
================跳转内容=====================
name:
MOVDX,OFFSETNUM
MOVAH,9
INT21H
zhidong:
MOVCL,0Ah
ZDSTR:
decCL
JZC1
MOVDH,CL
MOVFLA,01H
JMPSTR
color:
MOVDH,7
pushdx
popdx
jmpstr
black:
movdh,2
popdx
==========提示打印和跳转实现子程序=============
FUNTIONPROCNEAR
callClrscr
MOVDX,OFFSETFUN
MOVAH,9
callCRLF
callCRLF
ret
FUNTIONENDP
------------------------------------
tiaoPROCNEAR
pushax
cmpal,'
1'
jzblack
2'
jzcolor
3'
jzname
A'
JZzhidong
popax
tiaoENDP
===========主干程序==================
STR:
MOVBH,09H
LOP1:
MOVBL,09H
CMPBL,BH
JBELOP2
LOP3:
CALLSPACE
DECBL
JALOP3
LOP2:
MOVAL,BH
MULBL
CALLDISPLA
JNZLOP2
CALLCRLF
DECBH
JNZLOP1
CMPFLA,01H
JNZC1
MOVFLA,00H
CALLDELY
JMPZDSTR
C1:
INT21H
calltiao
MOVAX,4C00H
========子程序=====================
DELYPROCNEAR
PUSHCX
MOVCX,10000
OP1:
MOVCX,20000
OP2:
NOP
LOOPOP2
POPCX
LOOPOP1
RET
DELYENDP
----------换行--------------------------
CRLFPROCNEAR
PUSHAX
PUSHDX
MOVAH,2
MOVDL,0AH
MOVDL,0DH
POPDX
POPAX
CRLFENDP
------------字符呈现------------------------
DISPLAPROCNEAR
CMPAL,10
JAEDISP1
MOVDL,'
'
CALLOUT
JMPDISP2
DISP1:
MOVDL,10
MOVAH,0
DIVDL
MOVDL,AL
ADDDL,'
0'
MOVAL,AH
DISP2:
DISPLAENDP
----------选择色彩打印与黑白打印------------------------
OUTPROCNEAR
CMPBH,09H
JNZOUT1
CALLWriteCC
JMPOUTEND1
OUT1:
CMPBL,01H
JNZOUT2
JMPOUTEND1
OUT2:
CMPBH,BL
JNZOUTEND
OUTEND:
OUTEND1:
OUTENDP
-------------打印空格------------------------
SPACEPROCNEAR
MOVCX,4
SPACELP:
MOVAH,2
LOOPSPACELP
SPACEENDP
----彩色输出字符-----入口DL=输出字符,DH=输出颜色-----------
WriteCCPROCnear
pushbx
pushcx
pushsi
xorah,ah
moval,dh
movsi,ax
movah,9
moval,dl
movbh,0
movbl,col[si]
movcx,1
int10h
movah,3
movah,2
incdl
popsi
popcx
popbx
WriteCCENDP
----------------清屏程序------------------------
ClrscrPROCnear
movax,0600h
movcx,0
movdx,184Fh
movbh,7
int10h
movah,2
movbh,0
movdx,0
int10h
ClrscrENDP
CODEENDS
ENDSTART
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 汇编语言 课程设计 显示器 显示 九九表