;用15行*16列的表格形式显示ASCII码为10H-FFH的所有字符。
OUTPUT MACRO ASC
MOV DL,ASC
MOV AH,02H
INT 21H
ENDM ;输出单字符
CODES SEGMENT
ASSUME CS:CODES
MAIN PROC FAR
START:
MOV DL,10H ;用DL保存初始值10H
MOV BL,0FH ;BL用作计数器保存行数
ROW:
MOV CX,10H ;设置循环次数,表示输出为16列
LINE:
MOV AL,DL
OUTPUT AL
PUSH DX ;由于用到DL进行输出,因此每次输出前都要入栈保存DX
OUTPUT 0H
OUTPUT 0H ;显示两个空白字符便于显示
POP DX
INC DL ;准备下一个值
LOOP LINE ;准备显示当前行的下一个值
PUSH DX ;完成一行的显示
OUTPUT 0DH
OUTPUT 0AH ;回车换行
POP DX
DEC BL
CMP BL,0 ;判断是否已经输出15行
JNE ROW
JE EXIT
EXIT:
MOV AH,4CH
INT 21H
MAIN ENDP
CODES ENDS
END MAIN
