回 帖 发 新 帖 刷新版面

主题:求助!!

我编的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
    
    
    
    

回复列表 (共1个回复)

沙发


  MAIN    ENDP
前面加上
  RET

就行了。

不过,你的算法好象有错,1234+5678=6802?

我来回复

您尚未登录,请登录后再回复。点此登录或注册