求用汇编语言修改下面的程序(使下面的计算器程序能够一直运行直到按esc键退出) 20

这个计算机程序现在是可以运行的,但是一旦运行一次就会按任意键退出,求改成能一直运行直到按ESC键才能退出DATASEGMENTS1DB60DUP(?),'$';存储输入的... 这个计算机程序现在是可以运行的,但是一旦运行一次就会按任意键退出,求改成能一直运行直到按ESC键才能退出
DATA SEGMENT
S1 DB 60 DUP(?),'$';存储输入的中缀表达式子
S2 DB 60 DUP(?),'$';存储后缀表达式子
N DB 10 DUP(?),'$';存储要输出的数字字符串
STORAGE DW ?,'$';存储运算结果
BUF DB 'PLEASE INPUT EXPRESSION:',0AH,0DH,'$'
BUF1 DB 0AH,0DH,'EXPRESSION ERROR!$'
DATA ENDS

STACK SEGMENT STACK
DB 40 DUP(?)
STACK ENDS

CODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STACK
START:
MOVAX,DATA
MOV DS,AX
LEADX,BUF;输出字符串
MOVAH,9;BUF,提示输入表达式
INT 21H
MOV SI,0 ;输入的第一个数为负数的处理方法
MOV AH,1
INT 21H
CMP AL,'-'
JNE LL
MOVS1[SI],'0'
INC SI
LL: MOV S1[SI],AL
INC SI
LLL: MOV AH,1;循环输入表达式
INT 21H
MOVS1[SI],AL
INC SI
CMP AL,0DH
JNELLL
MOV DL,0AH
MOV AH,2
INT21H
CALLCHANGE;调用中缀转后缀子程序
CALLCALCULATE;调用计算后缀表达式子程序
NEXT :
POP AX
CMP AX,'@'
JE NEXT1
MOVSTORAGE,AX
CALLOUTPUT;调用输出运算结果子程序
NEXT1:
MOVAH,4CH
INT21H
ERROR:LEA DX,BUF1;输出字符串
MOVAH,9;BUF1,提示输入表达错误
INT 21H
JMP NEXT1
CHANGE PROCNEAR;中缀表达式转换为
MOV AH,0;后缀表达式的子程序
MOV DH,0
MOV SI,0
MOV DI,0
PUSH DI
CHA:
MOVAL,S1[SI]
INC SI
CMP AL,0DH
JE L8
CMP AL,'('
JE L1
CMP AL,'+'
JE L2
CMP AL,'-'
JE L3
CMP AL,'*'
JE L4
CMP AL,'/'
JE L5
CMP AL,')'
JE L6
CMP AL,'0'
JGE L7
JMP ERROR
超过字数了,我加在问题补充里o(╯□╰)o
晕,百度知道打不了那么多字o(╯□╰)o
http://wenku.baidu.com/view/666dcdcdda38376baf1fae0b.html
就是这个,麻烦帮忙改下QAQ
展开
 我来答
_fmlyht
2014-01-07 · TA获得超过2359个赞
知道大有可为答主
回答量:2398
采纳率:0%
帮助的人:1838万
展开全部
CALL OUTPUT;调用输出运算结果子程序
;
;在这儿添加分支即可
;
NEXT1:
MOV AH,4CH
INT 21H
追问
请问应该添加什么分支?
追答
接受输入并检查其是否为ESC键,若否,则跳转到开始出!
这不是你想要的吗?

不过这与原有设计不符,除源码外,其他部分尚需作相应修改!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式