汇编语言实验报告1
一、实验内容:用表格形式显示ASCII字符
二、实验要求:按15行×16列的表格形式显示ASCII码为10H—100H的所有字符,即以行为主的顺序及ASCII码递增的次序显示对应的字符。每16个字符为一行,每行中的相邻两个字符之间用空白符(ASCII为0)隔开。
说明: 显示调用DOS中断功能02,先考虑显示单个字符,再进行循环,程序关键在于寄存器的使用和循环控制。
MOV AH,02H
MOV DL,10H ; 输出要显示的符号的代码,放入DL寄存器
INT 21H
MOV AH,02H
MOV DL,0DH
INT 21H ; 输出回车符
MOV AH,02H
MOV DL,0AH
INT 21H ; 输出换行符
三、实验源代码如下:
DATAS SEGMENT
DATAS ENDS
STACKS SEGMENT
STACKS ENDS
CODES SEGMENT
ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
MOV AX,DATAS
MOV DS,AX
MOV DX,10H ;初植10H
NEXT:
MOV CX,10H ;16列
LOOP1:
MOV AH,02H ;显示输出DL字符
INT 21H
INC DX ;DX加1
PUSH DX ;把DX推进栈保存
MOV DL,0 ;显示空白符
INT 21H
POP DX ;把DX之前的数取回来
ascii共有多少个字符 LOOP LOOP1 ;当CX=0时会自动跳出LOOP1循环
PUSH DX ;保存DX的数,即为了保存ASCII码
MOV AH,02H
MOV DL,0AH ;显示换行字符
INT 21H
MOV AH,02H
MOV DL,0DH ;显示回车
INT 21H
POP DX ;把DX之前的数取回来
CMP DX,100H ;最后的字符的ASCII码为100H
JB NEXT ;小于时就会NEXT
MOV AH,4CH ;带返回码终止
INT 21H
CODES ENDS
END START
四、实验运行结果如下:(附截图)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论