帮我改改--多字节有符号数的加法程序--运行不出来
DATAS SEGMENT
NUM1 DB 100
DB ?
DB 100 DUP(?)
NUM2 DB 100
DB ?
DB 100 DUP(?)
P1 DB 'INPUT NUMBER1:''$'
P2 DB 'INPUT NUMBER2:''$'
CR DB 0DH,0AH,'$'
MINU DB 0
DATAS ENDS
STACKS SEGMENT
SB DW 100 DUP(?)
TOP LABEL WORD
STACKS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,SS:STACKS
MAIN PROC FAR
START: MOV AX,STACKS
MOV SS,AX
MOV SP,OFFSET TOP
MOV AX,DATAS
MOV DS,AX
;;ÊäÈë²¢´æ´¢
MOV AH,09
LEA DX,P1
INT 21H
MOV AH,0AH
MOV DX,OFFSET NUM1
INT 21H
CALL ZHUANHUAN
PUSH AX
LEA DX,CR
INT 21H
LEA DX,P2
INT 21H
MOV AH,0AH
MOV DX,OFFSET NUM2
INT 21H
CALL ZHUANHUAN
LEA DX,CR
INT 21H
;;Ïà¼Ó
POP DX
ADD AX,DX
;;Êä³ö
MOV DX,AX
AND DX,8000H
CMP DX,0
JZ ZSC
MOV AH,2
MOV DL,'-'
INT 21H
DEC AX
NEG AX
DEC AX
ZSC: CMP AX,9999
JBE TRAN
JMP ERR
TRAN: SUB DX,DX
MOV CX,1000
DIV CX
XCHG AX,DX
MOV CL,4
SHL DX,CL
MOV CL,100
DIV CL
ADD DL,AL
MOV CL,4
SHL DX,CL
XCHG AL,AH
SUB AH,AH
MOV CL,10
DIV CL
ADD DL,AL
MOV CL,4
SHL DX,CL
ADD DL,AH
MOV BX,DX
;;
MOV CH,4
MOV CL,4
LZ: ROL BX,CL
MOV DL,BL
AND DL,0FH
CMP DL,0
JNE LNZ
DEC CH
JNZ LZ
LL: ROL BX,CL
MOV DL,BL
AND DL,0FH
LNZ: ADD DL,30H
MOV AH,2
INT 21H
DEC CH
JNZ LL
JMP EXIT1
ZHUANHUAN PROC NEAR ;;ת»»³ÉÓзûºÅ¶þ½øÖÆÊý×Ó³ÌÐò
MOV BX,DX
MOV CX,[BX+1]
ADD DX,2
MOV SI,DX
MOV AL,[SI]
CMP AL,'-'
JNE CHK
MOV MINU,1
JMP DECS
CHK: CMP AL,'+'
JNE CLRD
DECS: DEC CX
INC SI
CLRD: SUB DX,DX
NEXT: CALL CHE
JC ERR
LODSB
CMP AL,'0'
JB ERR
CMP AL,'9'
JA ERR
AND AX,000FH
ADD DX,AX
JC ERR
LOOP NEXT
MOV AX,DX
CMP MINU,1
JNE EXIT
NEG AX
EXIT: RET
ERR: STC
MOV AH,4CH
INT 21H
CHE PROC NEAR
MOV BX,DX
SHL DX,1
SHL DX,1
ADD DX,BX
SHL DX,1
RET
CHE ENDP
ZHUANHUAN ENDP
EXIT1: RET
MAIN ENDP
CODES ENDS
END START