汇编语言计算器课程设计Word文件下载.docx

上传人:b****1 文档编号:13436477 上传时间:2022-10-10 格式:DOCX 页数:15 大小:150.86KB
下载 相关 举报
汇编语言计算器课程设计Word文件下载.docx_第1页
第1页 / 共15页
汇编语言计算器课程设计Word文件下载.docx_第2页
第2页 / 共15页
汇编语言计算器课程设计Word文件下载.docx_第3页
第3页 / 共15页
汇编语言计算器课程设计Word文件下载.docx_第4页
第4页 / 共15页
汇编语言计算器课程设计Word文件下载.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

汇编语言计算器课程设计Word文件下载.docx

《汇编语言计算器课程设计Word文件下载.docx》由会员分享,可在线阅读,更多相关《汇编语言计算器课程设计Word文件下载.docx(15页珍藏版)》请在冰豆网上搜索。

汇编语言计算器课程设计Word文件下载.docx

完成对数据的进一步加工处理,转换格式并得出结果。

首先根据输入调用对应的“+”、“-”、“*”、“/”四个函数模块,这是本程序的核心模块,其他部分的一些小模块都是为这几个模块服务的,大致的流程图如下图2:

图2子模块流程图

STACKSEGMENTSTACK

DB200DUP(0)

STACKENDS

DATASEGMENT

OPSDB?

OPDDB?

OPERDB?

TITDB'

***********************************'

0DH,0AH

DB'

*MadeBy*'

0DH,0AH;

0DH代表回车

*TongXinJiSuanQiXiaoZu*'

0AH代表换行

*ChangqianZuoxinWangxin*'

*WangdayongTangkuanlong*'

*+-*/*'

*Y,y:

continueN,n:

quit*'

*************Calculate*************$'

0DH,0AH

Tip1DB'

Inputthefirstoperator(0---9):

$'

Tip2DB'

Pleaseinputtheoper(+,-,*,/):

ErrorDB'

Error!

Pleseinputtheoperagain:

Tip3DB'

Inputthesecondoperator(0---9):

ResultDB'

--------------->

theresultis:

0DH,0AH

QuitDB'

Chooserepeatorquit?

(Y/y/N/n):

TsaveDB?

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA,SS:

STACK

START:

MOVAX,DATA;

初始化DS:

DX

MOVDS,AX

Remain:

MOVBL,0;

Oper(恢复)初始状态

MOVOPS,BL

MOVOPER,BL

MOVOPD,BL

LEASI,OPS;

OPS的偏移地址送给SI

LEADI,OPD;

OPD的偏移地址送给DI

CALLEnter

LEADX,TIT

MOVAH,9

INT21H

CALLInput1;

调用输入第一个操作数

CALLOperat;

调用输入操作符

CALLInput2;

调用输入第二个操作数

CALLCalculate;

调用计算方法

CALLStrQuit;

调用判断程序再次执行

MOVAH,1

INT21H

CMPAL,'

Y'

JERemain

y'

;

选择Y返回Remain继续执行

N'

JEEXIT

n'

EXIT:

MOVAH,4CH;

若不是Y则结束

;

输入操作数子程序---------------------------------------------------------

Input1PROCNEAR

LEADX,Tip1;

输入第一个操作数提示----------

INT21H;

十进制输入提示

BCDin1:

CMPAL,0DH

JEEndBCDin1;

等于回车则返回继续输入运算符

CMPAL,30H

JBBCDin1;

<

0时转exitinD退出

CMPAL,39H

JABCDin1;

>

9时转exitinD退出

ANDAL,0FH;

清除高位

MOV[SI],AL

INCSI

LOOPBCDin1

EndBCDin1:

CALLEnter;

回车换行

RET

Input1ENDP

Input2PROCNEAR

LEADX,Tip3;

输入第二个操作数提示----------

BCDin2:

JEEndBCDin2;

LOOPBCDin2

EndBCDin2:

Input2ENDP

输入操作符子程序-------------------------------------------------------

OperatPROCNEAR

ReOperat:

LEADX,Tip2;

输入操作符提示

+'

JEOperSave;

若为"

+"

则存在oper

-'

JEOperSave

*'

/'

JMPOperError

OperError:

LEADX,Error;

输入操作符的错误提示

JMPReOperat

OperSave:

MOVOPER,AL

RET

OperatENDP

计算方法子程序-----------------------------------------------------

CalculatePROCNEAR

MOVBL,OPER

CMPBL,'

JZADCProc;

若为加法,则转到adcProc

JZSUBProc

JZMULProc

JZDIVProc

ADCProc:

CALLStrResult;

加法

MOVAL,OPS

ADCAL,OPD

CALLDispl

JMPendCalculate

SUBProc:

减法

CALLStrResult

SUBAL,OPD

JMPendCalculate

MULProc:

乘法

MOVAL,OPD

MULOPS

DIVProc:

除法

MOVAH,0

DIVOPD

endCalculate:

CalculateENDP

DisplPROCNEAR

MOVTsave,AL

MOVAL,Tsave

MOVBL,100

DIVBL;

除以100

CALLOutput;

显示百位数

MOVAL,AH

MOVBL,10

除以10

显示十位数

显示个位数

DisplENDP

StrResultPROCNEAR

LEADX,Result

StrResultENDP

OutputPROCNEAR;

十进制输出

PUSHAX

ADDAL,30H;

将AL中的十进制数变成ASCII码

MOVDL,AL

MOVAH,2

POPAX

OutputENDP

回车换行子程序--------------------------------------------------

EnterPROCNEAR

MOVDL,0AH

MOVDL,0DH

EnterENDP

判断程序再次执行子程序-----------------------------------------------

StrQuitPROCNEAR

回车换行

LEADX,Quit

StrQuitENDP

CODEENDS

ENDSTART

3.系统调试

(1)在屏幕上显示一个由‘*’组成边框的矩形窗口;

(2)自动闪烁光标,并提示输入信息;

(3)能够完成单项表达式的输入、显示和运算;

(4)编制并调试出程序。

单击开始,启动运行,输入cmd,启动命令提示符,进入DOS系统。

如下图:

图3启动命令提示符

源程序名存为qian.asm,在dos

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

当前位置:首页 > 考试认证 > 公务员考试

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

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