求助!汇编语言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 这是为什么??
展开
 我来答
百度网友8237269
2011-08-02 · TA获得超过120个赞
知道答主
回答量:176
采纳率:0%
帮助的人:88.9万
展开全部
int 21h 是一个中断,跳转到中断指定的程序,各寄存器的值相应的会还原。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
gonghx12
2011-07-29 · TA获得超过152个赞
知道小有建树答主
回答量:229
采纳率:0%
帮助的人:183万
展开全部
al会返回输出的字符,虽然标准文档里没有提到,但设计者就是这样设计的。
追问
谢谢!小弟再多问两句! 是每次调用int21h输出的时候 都会把输出的ASCII码值 同时存入al寄存器吗?
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式