汇编语言,输出ascii为10h-ffh的字符,每16个换行,为什么运行无结果?
DATA SEGMENT
UPSTRING DB 0AH,0DH,'$'
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START:
MOV AX,DATA ;
MOV DS,AX ;将数据存入ds寄存器
MOV AL,10H ;输出ASCII码为10H字符
MOV BL,0FFH ;用于比较是否结束循环
MOV CX,0 ;用于计数
LINELOOP:
MOV DL,AL ;输出当前字符
MOV AX,2H ;
INT 21H ;
MOV DL,' ' ;输出空格字符
MOV AX,2H
INT 21H ;
CMP AL,BL ; 用当前字符和0FFH比较
JZ ENDPRO ;结束输出
INC AL ;ACSII码加1
INC CX ;字符数加1
CMP CX,16 ;和16比较
JZ CHANGELINE ; 每输出16个换行
JMP LINELOOP ;//进行循环
CHANGELINE:
LEA DX,UPSTRING ;输出换行
MOV AX,09H ;
INT 21H
XOR CX,CX ;字符数置0
JMP LINELOOP ;
ENDPRO: MOV AX,4C00H
INT 21H
CODE ENDS
END START
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论