输出回车换行
CRLF PROC
MOV DL, 0DH
MOV AH, 2
INT 21H
MOV DL, 0AH
MOV AH, 2
INT 21H
RET
CRLF ENDP
输出空格
WHITESPACE PROC
MOV DL, 20H
MOV AH, 2
INT 21H
RET
WHITESPACE ENDP
显示字符串(字符串的首地址ds:dx)
PROMPT PROC
MOV AH, 9
INT 21H
RET
PROMPT ENDP
十进制的输出(把要输出的十进制数字放到BX,定义一个临时变量NOZERO)(可显示0~65535)
PUTOUTDEC PROC
PUSH CX
MOV NOZERO, 0
MOV CX, 10000
CALL MAIN
MOV CX, 1000
CALL MAIN
MOV CX, 100
CALL MAIN
MOV CX, 10
CALL MAIN
MOV CX, 1
CALL MAIN
CMP NOZERO, 0
JNE LL
MOV DL, 30H
MOV AH, 2
INT 21H
LL: POP CX
RET
MAIN PROC
MOV AX, BX
MOV DX, 0
DIV CX
MOV BX, DX
MOV DL, AL
CMP DL, 0
JNE LL1
CMP NOZERO, 0
JNE LL1
JMP LL2
LL1:MOV NOZEO, 1
ADD DL, 30H
MOV AH, 2
INT 21H
LL2:RET
MAIN ENDP
PUTOUTDEC ENDP
十六进制的输出, 把要显示的数字放到BX中(0~FFFF)(定义来那个临时变量TEMP, TEMP1)
PUTOUTHEX PROC
PUSH CX
MOV TEMP, BX
MOV TEMP1, BX
MOV CL, 8
SHR TEMP, CL
MOV BX, TEMP
CALL MAIN1
AND TEMP1, 00FFH
MOV BX, TEMP1
POP CX
RET
MAIN1 PROC
MOV AL, BL
MOV CL, 4
SHR AL, CL
CMP AL, 10
JB KK
ADD AL, 7
KK: MOV DL, AL
CMP DL, 0
JE KK2
ADD DL, 30H
MOV AH, 2
INT 21H
AND BL, 0FH
KK2:CMP BL, 10
JB KK1
ADD BL, 7
KK1: MOV DL, BL
ADD DL, 30H
MOV AH, 2
RET
MAIN1 ENDP
PUTOUTHEX ENDP