求大神指点……6真心搞不出来呃
设计程序,实现从键盘上输入一个加减混合运算式,输入等号后,在下一行显示十进制计算结果。显示示例:input:3+5+7+8=
23
这是我的课程设计题目,我编了两天了,也没有想出一个好的算法。真心不是计算机专业的搞编程麻烦。以下是我的源程序,但是运算不出来的。
求大神指导:DATAS SEGMENT
d db 200
DATAS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS
START:
MOV AX,DATAS
MOV DS,AX
mov dx,offset d
mov ah,0ah
int 21h;键盘输入
mov dl,0ah
mov ah,2
int 21h
mov al,10
mov ds:,al
mov al,0
mov ds:,al
mov ds:,al
mov bx,2
x1: add ds:,al
mov al,0
x11:mov ch,ds:
inc bx
cmp ch,2bh;+
jz x1
cmp ch,2dh;-
jz x2
cmp ch,3dh;=
jz a
sub ch,30h ;asc转换十进制数
mov cl,ch
mul byte ptr ds:199
add al,cl ;数字组合
jmp x11
x2: add ds:,al
mov al,0
x21:mov ch,ds:
inc bx
cmp ch,2bh;+
jz x3
cmp ch,2dh;-
jz x2
cmp ch,3dh;=
jz b
sub ch,30h ;asc转换十进制数
mov cl,ch
mul byte ptr ds:199
add al,cl ;数字组合
jmp x21
x3: add ds:,al
mov al,0
x31:mov ch,ds:
inc bx
cmp ch,2bh;+
jz x1
cmp ch,2dh;-
jz x2
cmp ch,3dh;=
jz a
sub ch,30h ;asc转换十进制数
mov cl,ch
mul byte ptr ds:199
add al,cl ;数字组合
jmp x31
x4: add ds:,al
mov al,0
x41:mov ch,ds:
inc bx
cmp ch,2bh;+
jz x3
cmp ch,2dh;-
jz x4
cmp ch,3dh;=
jz b
sub ch,30h ;asc转换十进制数
mov cl,ch
mul byte ptr ds:199
add al,cl ;数字组合
jmp x41
a: mov ah,ds:
add ah,al
mov ds:,ah
jmp x
b: add ds:,al
jmp x
x: mov al,ds:
mov ah,ds:
sub al,ah
sub al,30h
mov ah,2
int 21h
MOV AH,4CH
INT 21H
CODES ENDS
END START
页:
[1]