DATA SEGMENT
DATA1 DB 34H,35H,39H,38H,36H,' '
DATA2 DB 37H,34H,33H,36H,32H,' '
DATA ENDS
CODE SEGMENT
MAIN PROC FAR
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
MOV DS,AX
LEA SI,DATA1
CALL DISPLAY
CALL CRLF
LEA SI,DATA2
CALL DISPLAY
CALL CRLF
LEA DI,DATA1
MOV AX,0
MOV BX,0
MOV CL,05H
ADDS: MOV AL,[SI]
SUB AL,30H
ADD AL,BL
MOV BL,[DI]
SUB BL,30H
ADD AL,BL
ADD AL,30H
CMP AL,3AH
JA SUBA
JB NSUBA
SUBA: SUB AL,0AH
MOV BL,01H
JMP CONTINUE
NSUBA: MOV BL,00H
CONTINUE:MOV [DI],AL
INC DI
INC SI
LOOP ADDS
JC SHUCHU
JNC SHUCHU2
SHUCHU2: MOV AL,31H
JMP CONTINUE2
SHUCHU:MOV AL,30H
CONTINUE2:MOV [DI],AL
LEA SI,DATA1
CALL DISPLAY
MOV AX,4C00H
INT 21H
MAIN ENDP
CRLF PROC NEAR
MOV DL,0DH
MOV AH,02H
INT 21H
MOV DL,0AH
MOV AH,02H
INT 21H
RET
CRLF ENDP
DISPLAY PROC NEAR
MOV BX,0006H
DSL: MOV DL,[SI+BX-1]
MOV AH,02
INT 21H
DEC BX
JNZ DSL
RET
DISPLAY ENDP
CODE ENDS
END START
為什么五個字節加完了,才根據進位標志,跳轉? |