微机课程设计 简易计算器.docx

上传人:b****2 文档编号:24550079 上传时间:2023-05-28 格式:DOCX 页数:11 大小:91.53KB
下载 相关 举报
微机课程设计 简易计算器.docx_第1页
第1页 / 共11页
微机课程设计 简易计算器.docx_第2页
第2页 / 共11页
微机课程设计 简易计算器.docx_第3页
第3页 / 共11页
微机课程设计 简易计算器.docx_第4页
第4页 / 共11页
微机课程设计 简易计算器.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

微机课程设计 简易计算器.docx

《微机课程设计 简易计算器.docx》由会员分享,可在线阅读,更多相关《微机课程设计 简易计算器.docx(11页珍藏版)》请在冰豆网上搜索。

微机课程设计 简易计算器.docx

微机课程设计简易计算器

 

《微机原理实践》课程设计报告

 

题目:

简易计算器

专业:

网络工程

班级:

1001

学号:

1030040158

姓名:

川失意

指导教师:

胡美娇

 

完成日期:

2012年月日

 

一、课程设计目的

1、加深对汇编语言理论和基本知识的理解,掌握DOS和BIOS系统功能调用,掌握运用汇编语言设计具有一定功能的软件的基本方法.

2、通过编写一定规模和难度的程序,进行一次较全面的汇编编程训练,提高分析问题和解决问题的能力

3、提高调试程序的能力

二、课程设计内容

3、设计一个简易计算器,可以对两个一位数进行加法和减法运算,例如1+2=3,8+9=17,8-5=3,4-9=-5。

'********************DisplayProgram********************

Theadditionandsubtractionoperationsoftwoone-digit,Input"=",thenoutputtheresult:

如果输入的不是数,提示出错,显示:

inputerror!

如果输入e,则退出程序。

如果输入c,则清屏。

三、课程设计过程

1、算法设计(画出算法流程图)

 

2、程序代码清单

DATASEGMENT

BUFFDB4DUP

(1)

JIEGUODB2DUP

(1)

STR0DB"",0DH,0AH,"$"

STR1DB"********************DisplayProgram********************",0DH,0AH,"$"

STR2DB"Theadditionandsubtractionoperationsoftwotwo-digit",0DH,0AH,"Input"=",thenoutputtheresult:

",0DH,0AH,"$"

STR3DB0DH,0AH,"Inputerror!

",0DH,0AH,"Pleaseinputagain!

",0DH,0AH,"$"

TUICHUDB0DH,0AH,"Pleasepressanykeytocontinue!

","$"

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

START:

MOVAX,DATA

MOVDS,AX

LEADX,STR0

MOVAH,9

INT21H

LEADX,STR1

MOVAH,9

INT21H

LEADX,STR2

MOVAH,9

INT21H

LEASI,JIEGUO

LEABX,BUFF

START1:

MOVAH,1

INT21H

CMPAL,"E";输入为E或e时退出程序

JZEXIT

CMPAL,"e"

JZEXIT

CMPAL,"C";输入为C或c时清屏

JZQINGPING

CMPAL,"c"

JZQINGPING

CMPAL,"+";输入的字符不为+,-,=,0到9的字符时,则报错,是则存储

JNZLOOP2

JMPCUNCHU

ERROR:

LEADX,STR3

MOVAH,9

INT21H

JMPSTART1

CUNCHU:

;对输入的字符进行存储

MOV[BX],AL

INCBX

JMPSTART1

LOOP1:

CMPAL,"0"

JBERROR

CMPAL,"9"

JAERROR

SUBAL,30H

JMPCUNCHU

LOOP2:

CMPAL,"-"

JNZLOOP3

JMPCUNCHU

LOOP3:

CMPAL,"="

JZLOOP4

JMPLOOP1

LOOP4:

LEABX,BUFF

JMPPANDUAN

PANDUAN:

;判断为加法还是减法运算

CMP[BX+1],"+"

JZJIAFA

JMPJIANFA

JIAFA:

LEABX,BUFF

MOVDL,[BX];提取两个加数的数据

MOVAL,[BX+2]

ADDAL,DL

CMPAL,10

JAEJINWEI

ADDAL,30H

MOV[SI+1],AL

LEADX,[SI+1]

MOVAH,9

INT21H

JMPSTART

JINWEI:

SUBAL,10

ADDAL,30H

MOV[SI],31H

MOV[SI+1],AL

LEADX,[SI]

MOVAH,9

INT21H

JMPSTART

JIANFA:

MOVDL,[BX];提取被减数和减数的数据

MOVAL,[BX+2]

CMPAL,DL

JZZERO

JAFU

JBZHENG

ZHENG:

SUBDL,AL

ADDDL,30H

MOV[SI+1],DL

LEADX,[SI+1]

MOVAH,9

INT21H

JMPSTART

FU:

SUBAL,DL

MOV[SI],"-";结果为负数的输出(如13-22=-9)

ADDAL,30H

MOV[SI+1],AL

LEADX,SI

MOVAH,9

INT21H

JMPSTART

ZERO:

MOVDL,30H;结果为0的输出

MOVAH,2

INT21H

JMPSTART

QINGPING:

MOVAL,0;实现清屏功能

MOVBH,7

MOVCH,0

MOVCL,0

MOVDH,24H

MOVDL,79H

MOVAH,6

INT10H

MOVDX,0

MOVAH,2

INT10H

JMPSTART

EXIT:

LEADX,TUICHU;退出程序

MOVAH,9

INT21H

MOVAH,4CH

INT21H

CODEENDS

ENDSTART

 

3、调试过程(包括实验过程中实验步骤,出现的问题,解决的方法,使用的实验数据等)

一、对设计的程序进行语法检查,检查程序中存在的语法错误。

二、对测试进行综合调试,对下载到芯片的程序进行功能检查,直到完成设计要求的功能。

 

4、系统运行结果截图

加减法结果:

乘除法结果:

其他字符输入结果:

按c键清屏结果:

 

5、结果分析

加法运算的结果都是正数,但需要考虑进位;

减法运算根据减数和被减数的大小,结果有正有负;

输入其他符号,则提示出错,不能进行;

按c键可以实现清屏功能;

经调试,基本上任务要求设计的所有功能都实现。

 

四、课程设计体会

两周的课程设计结束了,给我的总体感觉就是忙碌而充实,而且真正学到了一些东西。

另外,这次无论是设计个这程序还是写课程设计报告都让我学到了好多东西,有对课本知识更加深入的了解和掌握,也有对于流程图的设计以及绘制还有word的一些用法和排版等,都让我受益匪浅,不仅让我掌握了更多的知识,还让我领会到要把一件事情做好并真正有所收获还得靠自己独立地去完成并坚持不懈!

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 视频讲堂

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1