汇编语言课程设计Word文档格式.docx
- 文档编号:22867521
- 上传时间:2023-02-05
- 格式:DOCX
- 页数:19
- 大小:127.60KB
汇编语言课程设计Word文档格式.docx
《汇编语言课程设计Word文档格式.docx》由会员分享,可在线阅读,更多相关《汇编语言课程设计Word文档格式.docx(19页珍藏版)》请在冰豆网上搜索。
do_add加法运算模块,do_sub减法运算模块,do_mul乘法运算模块,do_div除法运算模块,input输入模块等。
最后还要对这个简易计算器进行功能完善。
为了使程序符合我们使用者的操作习惯,设计当用户根据提示信息输入一个算式后,按下enter键或是‘=’符号键时,程序依据输入的算式进行计算,并将结果显示在屏幕上。
如果用户输入错误,则返回,提示信息让用户重新输入算式,当用户按下Q或q键时退出程序。
在各个子功能模块设计好的情况下,通过主题模块的合理调用,最终实现一个具有简单运算功能的计算器。
3.2程序流程图及说明
此程序流程图简要地表现出了所要实现的功能以及一些功能的大概算法,同时也是我编写的程序的一个总体的框架。
程序流程图说明:
通过流程图,可以看出程序开始运行时,首先输出提示语句,当用户输入后,程序根据所输入的内容进行判断,通过判断的结果来决定调用哪个功能模块,首先要判断输入的字符是否为Q或q,若是,则退出程序,不是则继续输入。
还要判断输入的是否为0--9,‘+’,‘-’,‘*’,‘/’这些字符,若不是会报错,是则将根据运算符号调用相应的功能模块完成运算。
最后将运算的结果显示在屏幕上,并返回主题程序,使用户可以重新输入。
图3-1程序流程图
3.2主体功能
本次课程设计的题目是用汇编语言实现一个简单的计算器,要求:
编写一个程序,每运行一次可执行程序,可以实现加减乘除四则运算。
计算器是最简单的计算工具,简单计算器具有加、减、乘、除四项运算功能。
通过使用汇编语言设计实现简单计算器,以此进一步了解和掌握对数据存储,寄存器的使用,加减乘除相关指令以及模块的调用等汇编语言知识的有效运用。
本次课程设计以实现一个基本功能完善,界面友好,操作简便易行的计算器为最终目的。
通过对具有加减乘除基本功能的计算器的设计实现,学会使用汇编语言实现输入输出模块的设计,模块合理调用的设计,加减乘除运算的判断以及退出程序的判断的设计。
通过对各种指令的合理使用,熟悉并加深对各种指令的用法。
学会使用汇编语言设计各个功能模块。
当实现各个程序模块后,学会通过程序的调用最终实现一个具有基本计算功能的简单计算器。
4程序调试
4.1运行界面分析
将源程序输入编辑程序中,检查无误后经汇编、连接后装入系统运行界面如图4-1所示:
图4-1运行界面
程序的运行界面显示成功,屏幕上显示“inputasuanshi(inputqexit):
”提示用户输入一个算式。
4.2调试过程及分析
对程序源代码进行功能调试和功能验证。
程序代码运行成功后,分别检验测试其加、减、乘、除功能,并对结果进行分析。
再者,要对当用户输入Q或q时,退出程序的功能进行检测。
加法运算,计算1122+1658,如图4-2所示:
图4-2加法运算
减法运算,计算2345-2533,如图4-3所示:
图4-3减法运算
乘法运算,计算1233*3000,如图4-4所示:
图4-4乘法运算
除法运算,计算98/10,如图4-5所示:
图4-5除法运算
当用户输入Q或q时,程序退出,如图4-6所示:
图4-6退出程序测试
5小结
本次课程设计我认为最需要改进的就是程序的健壮性。
通过这次课程设计,我发现一个好的汇编程序不仅要正确可行,还要有健壮性,当用户输入数据非法,使运行环境改变时,程序能恰当地作出反应或进行处理,不会产生莫名其妙的输出结果。
一个正确可行的算法如果缺乏健壮性,那么这个程序也不能算真正的成功。
汇编语言是本专业的一门重要的程序语言。
在刚开始学习时,一直担心自己、也没把握自己能否学好,也曾担心过不了考试这一关。
经过近大半学期老师您不厌其烦的教导,引导我们去学习。
我对汇编语言语言有了一定的了解,但那绝对是远远不够的,还是要不断地把它应用到实践中去,融会贯通。
经过为期一周的汇编语言课程设计,亲身感受体验敲、改写程序代码的乐趣,我对汇编语言有了较为深入的了解,不仅巩固了以前在课本上学到的知识,还学会了很多其他东西。
通过这次课程设计,我收获的不仅仅是课程上的知识得到实际应用,还有编程的基本习惯和开发系统时应注意的流程。
作为一个程序编程人员,要保持清醒的头脑,以现实为依据,让自己的每一行代码都能实现自己的意义。
参考文献
[1]温冬蝉、沈美明.IBMPC汇编语言程序设计.北京:
清华大学出版社,2007.5
[2]刘其明.汇编语言程序设计教程.徐州:
中国矿业大学出版社,2010
[3]钱晓捷.新版汇编语言程序设计.北京:
电子工业出版社,2007
[4]何小海,严华.微机原理与接口技术.北京:
科学出版社,2006
附录
附录1源程序清单
B_P
EQU
BYTE
PTR
W_P
WORD
D_P
DWORD
CODE
SEGMENT
ASSUME
CS:
CODE,DS:
CODE
ORG
100H
;
主程序开始
NEWSTAR:
JMP
STAR
EVEN
NUM1
DW
0,0
NUM2
NUM3
JGV4
YSF
LABEL
WORD
YSF1
DB
YSF2
JUV
UV
使DS:
SI指向第一有效字符
OVERS
NEAR
CLD
PUSH
AX
OVERS1:
LODSB
CMP
AL,'
'
JZ
OVERS1
AL,9
DEC
SI
AL,13
POP
RET
输出一个制表符
TAB
MOV
SHORT
DISP
输出一个回车换行符
CRLF
CALL
AL,10
显示一个字符
DISP
DX
AH,2
DL,AL
INT
21H
检查是否为运算符
ISYSF
ISJJ
ISYSF1
ISII
ISYSF1:
检查是否是加减运算
ISJJ
+'
-'
检查是否为乘除运算
ISII
*'
/'
\'
数据输出
CX=10
十进制
CX=16
十六进制
DOUT
BX
BP
XOR
BP,BP
DOUT1:
INC
AX,DX
DX,DX
DIV
CX
BX,AX
DX,BX
OR
JNZ
DOUT1
DOUT2:
ADD
0'
9'
JBE
DOUT3
A'
-1
DOUT3:
DOUT2
输入数据在DX:
AX中返回
CX=0
数据为10进制
CX#0
数据为16进制
DATE
DI
AX,AX
DATE1:
DI,AX
JB
DATE7
JA
DATE6
DATE2:
AND
AX,0FH
SHL
DI,1
RCL
DX,1
BX,DI
BP,DX
JCXZ
DATE3
Jmp
short
DATE4
DATE3:
DI,BX
ADC
DX,BP
DATE4:
AX,DI
DX,0
DATE1
DATE5:
DATE2
DATE6:
F'
DATE5
a'
f'
DATE7:
DI,DX
数据1与数据2根据YSF1进行加减运算
JSJJ
AX,NUM2
DX,NUM2+2
YSF1,'
JSJJ1
SUB
NUM1,AX
SBB
NUM1+2,DX
JSJJ2
JSJJ1:
JSJJ2:
数据1与数据2根据YSF1进行乘除运算
JSII1
BX,OFFSET
NUM1
JSII2_1
数据2与数据3根据YSF2进行乘除运算
JSII2
NUM2
JSII2_1:
66H
AX,[BX]
CX,[BX+4]
YSF2,'
JSII2_2
IMUL
JSII2_3
JSII2_2:
CWD
IDIV
XCHG
DX,AX
JSII2_3:
[BX],AX
显示结果
XUJG
AX,JGV4
DX,JGV4+2
CX,10
UV,10
XUJG0
CX,16
XUJG0:
TEST
DX,8000H
XUJG1
XUJG2
DOUT
XUJG2:
NOT
AX,1
XUJG3
('
XUJG3:
)'
XUJG1:
计算结果放入DX:
AX中
JSJG
JSJJ
AX,NUM1
DX,NUM1+2
从DS:
SI处取一个数据
LOADATE
LOADATE1
CX,CX
LOADATE0
CX
取16进制数
LOADATE0:
取数据放入DX:
LOADATE1:
保存数据1数据2及运算符
NUM1+2
NUM2+2
YSF
JUV
JGV4,0
结果值清零
JGV4+2,0
进行四则运算
SZYS
首字符是运算符?
SZYS2
不是,取数并保存
SZYS1:
AX,AX
数据2清零
NUM2,AX
NUM2+2,AX
下个是运算符?
SZYS3
SZYS6
SZYS2:
AX,JGV4
将结果作为数据1
AX,JGV4+2
NUM1+2,AX
SZYS3:
YSF1,AL
YSF2,AL
是加减运算转
SZYS4
取数据2
NUM2+2,DX
SZYS1
结果保存在数据1中
SZYS4:
取数据2并保存
SZYS4_1:
ISYSF
运算符2是加减运算?
SZYS5
不是转
AX
YSF1,AL
保存新的运算符
SZYS5:
YSF2,AL
保存运算符2
取数据3
NUM3,AX
NUM3+2,DX
SZYS4_1
结果保存在数据2中
SZYS6:
CL,AL
SZYS9
SZYS7:
JSJG
JUV,0
SZYS8
SZYS8:
CL,'
SZYS10
JGV4,AX
JGV4+2,DX
SZYS12
SZYS9:
SZYS11
SZYS7
SZYS10:
SZYS1
SZYS11:
STC
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 汇编语言 课程设计