主题:求助!!
我编的4位bcd码加法程序,每次到输入第二个家数都会出错请高手指教!
DATA SEGMENT
BUF DB 100 DUP(?)
DATA ENDS
STACK SEGMENT STACK 'STACK'
AO DB 100 DUP(?)
STACK ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STACK
MAIN PROC FAR
START:
MOV AX,STACK
MOV SS,AX
PUSH DS
MOV AX,0
PUSH AX
MOV AX,DATA
MOV DS,AX
MOV BX,OFFSET BUF
MOV CX,04H
L2: MOV AH,1
PUSH CX
INT 21H
MOV [BX+1],AL
INC BX
INC BX
POP CX
LOOP L2
MOV AH,2
MOV DL,'+'
INT 21H
MOV BX,OFFSET BUF
MOV CX,04H
L1: MOV AH,1
PUSH CX
INT 21H
MOV [BX],AL
INC BX
INC BX
POP CX
LOOP L1
MOV AH,2
MOV DL,'='
INT 21H
MOV BX,OFFSET BUF
MOV AL,[BX+7]
MOV BX,OFFSET BUF
MOV CL,[BX+6]
ADD AL,CL
AAA
OR AX,3030H
PUSH AX
MOV BX,OFFSET BUF
MOV AL,BUF[BX+5]
MOV BX,OFFSET BUF
MOV CL,[BX+4]
ADC AL,CL
AAA
OR AX,3030H
PUSH AX
MOV BX,OFFSET BUF
MOV AL,[BX+3]
MOV BX,OFFSET BUF
MOV CL,[BX+2]
ADC AL,CL
AAA
OR AX,3030H
PUSH AX
MOV BX,OFFSET BUF
MOV AL,[BX+1]
MOV BX,OFFSET BUF
MOV CL,[BX]
ADC AL,CL
AAA
OR AX,3030H
PUSH AX
POP AX
MOV DL,AL
MOV AH,2
INT 21H
POP AX
MOV DL,AL
MOV AH,2
INT 21H
POP AX
MOV DL,AL
MOV AH,2
INT 21H
POP AX
MOV DL,AL
MOV AH,2
INT 21H
MAIN ENDP
CODE ENDS
END START
DATA SEGMENT
BUF DB 100 DUP(?)
DATA ENDS
STACK SEGMENT STACK 'STACK'
AO DB 100 DUP(?)
STACK ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,SS:STACK
MAIN PROC FAR
START:
MOV AX,STACK
MOV SS,AX
PUSH DS
MOV AX,0
PUSH AX
MOV AX,DATA
MOV DS,AX
MOV BX,OFFSET BUF
MOV CX,04H
L2: MOV AH,1
PUSH CX
INT 21H
MOV [BX+1],AL
INC BX
INC BX
POP CX
LOOP L2
MOV AH,2
MOV DL,'+'
INT 21H
MOV BX,OFFSET BUF
MOV CX,04H
L1: MOV AH,1
PUSH CX
INT 21H
MOV [BX],AL
INC BX
INC BX
POP CX
LOOP L1
MOV AH,2
MOV DL,'='
INT 21H
MOV BX,OFFSET BUF
MOV AL,[BX+7]
MOV BX,OFFSET BUF
MOV CL,[BX+6]
ADD AL,CL
AAA
OR AX,3030H
PUSH AX
MOV BX,OFFSET BUF
MOV AL,BUF[BX+5]
MOV BX,OFFSET BUF
MOV CL,[BX+4]
ADC AL,CL
AAA
OR AX,3030H
PUSH AX
MOV BX,OFFSET BUF
MOV AL,[BX+3]
MOV BX,OFFSET BUF
MOV CL,[BX+2]
ADC AL,CL
AAA
OR AX,3030H
PUSH AX
MOV BX,OFFSET BUF
MOV AL,[BX+1]
MOV BX,OFFSET BUF
MOV CL,[BX]
ADC AL,CL
AAA
OR AX,3030H
PUSH AX
POP AX
MOV DL,AL
MOV AH,2
INT 21H
POP AX
MOV DL,AL
MOV AH,2
INT 21H
POP AX
MOV DL,AL
MOV AH,2
INT 21H
POP AX
MOV DL,AL
MOV AH,2
INT 21H
MAIN ENDP
CODE ENDS
END START