DATA SEGMENT
STRING DB 0AH,0DH,'$'
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
MOV DS,AX
ONE: MOV AH,1
INT 21H
CALL PRINT
CMP AL,0DH
JNZ ONE
MOV AX,4C00H
INT 21H
PRINT PROC
PUSH AX ;记得保存ax的值,因为后面会修改其值
LEA DX,STRING
MOV AH,9
INT 21H
POP AX ;恢复调用之前ax值
RET
PRINT ENDP ;程序结束时endp,不是ends
CODE ENDS
END START
STRING DB 0AH,0DH,'$'
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
MOV DS,AX
ONE: MOV AH,1
INT 21H
CALL PRINT
CMP AL,0DH
JNZ ONE
MOV AX,4C00H
INT 21H
PRINT PROC
PUSH AX ;记得保存ax的值,因为后面会修改其值
LEA DX,STRING
MOV AH,9
INT 21H
POP AX ;恢复调用之前ax值
RET
PRINT ENDP ;程序结束时endp,不是ends
CODE ENDS
END START