📄 21.asm
字号:
;*************************************************************************
;按15行*16列的表格形式显示ASCII码为10H—100H的所有字符,即以行为主的顺序及
;ASCII码递增的次序依次显示对应的字符。每16个字符为一行,每行中的相邻两个字
;符之间用空白符(ASCII为0)隔开
;*************************************************************************
;DH 用来控制每一行里面显示ASCII码的个数
;DL 用来控制循环及显示
;AH 用来DOS系统功能调用
PROGNAM SEGMENT
MAIN PROC FAR
ASSUME CS:PROGNAM
START: PUSH DX
SUB AX,AX
PUSH AX
MOV AH,02H
MOV DH,00H
MOV DL,10H
L1: CMP DL,0FFH ;如果DL>=0FFH,就结束程序
JNC EXIT
CMP DH,0FH ;否则的话,就判断当前行是否已经打印了16个字符
JC SHOW ;如果当前行已经打印了16个字符
PUSH DX
MOV DL,0AH ;换行显示
INT 21H
MOV DL,0DH ;回车
INT 21H
POP DX
MOV DH,00H ;当前行的统计字符清零
SHOW: INT 21H ;打印DL寄存器里面的字符
PUSH DX
MOV DL,00H
INT 21H
POP DX
INC DL ;打印字符加一
INC DH ;当前行统计字符加1
JMP L1 ;继续判断这个是否满足结束的条件
EXIT: INT 21H
MOV DL,00H
INT 21H
RET
MAIN ENDP
PROGNAM ENDS
END START
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -