
求助!汇编语言int21h输出的时候为什么会改变al寄存器的值??
L0:MOVAH,1INT21HMOVAH,2MOVDL,13INT21HMOVDL,10INT21H我想实现一个当用户输入一个按键之后自动换行的功能,假如我输入的是a那...
L0: MOV AH,1
INT 21H
MOV AH,2
MOV DL,13
INT 21H
MOV DL,10
INT 21H
我想实现一个当用户输入一个按键之后 自动换行的功能,假如我输入的是a
那么输入之后al的值为61H 但是经过后面的int21h输出换行符之后 为什么al寄存器的值就变了? 经过debug分布调试,我发现al的值变为和dl一样的值了,就是0DH 和 0AH 这是为什么?? 展开
INT 21H
MOV AH,2
MOV DL,13
INT 21H
MOV DL,10
INT 21H
我想实现一个当用户输入一个按键之后 自动换行的功能,假如我输入的是a
那么输入之后al的值为61H 但是经过后面的int21h输出换行符之后 为什么al寄存器的值就变了? 经过debug分布调试,我发现al的值变为和dl一样的值了,就是0DH 和 0AH 这是为什么?? 展开
2个回答
展开全部
int 21h 是一个中断,跳转到中断指定的程序,各寄存器的值相应的会还原。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
al会返回输出的字符,虽然标准文档里没有提到,但设计者就是这样设计的。
追问
谢谢!小弟再多问两句! 是每次调用int21h输出的时候 都会把输出的ASCII码值 同时存入al寄存器吗?
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询