
汇编中9号功能调用的小问题
想问一下,是不是汇编中,用了系统9号功能调用(movah,9int21h)后,会自动把al置为24h??是我程序原因还是每回调用后al都会被更改?刚才调试程序时movah...
想问一下,是不是汇编中,用了系统9号功能调用(mov ah,9 int 21h)后,会自动把al置为24h??
是我程序原因还是每回调用后al都会被更改?
刚才调试程序时
mov ah,1
int 21h
lea dx,msg
mov ah,9
int 21h
al的值总不正确.是不是要在9号调用前保存al? 展开
是我程序原因还是每回调用后al都会被更改?
刚才调试程序时
mov ah,1
int 21h
lea dx,msg
mov ah,9
int 21h
al的值总不正确.是不是要在9号调用前保存al? 展开
3个回答
2013-06-22
展开全部
不会自动置的,不过在调用9号功能的前先把AL的值保起来是好的
比如把显示我们输入的数字再加1再输出来
CODE SEGMENT
ASSUME CS:CODE
START:
MOV AH,1
INT 21H
MOV BL,AL;先放到BL存下,也就是保起来
MOV DL,0AH;显示回车
MOV AH,2
INT 21H
MOV DL,0DH;换行
INT 21H
MOV DL,BL
INC DL;加1
INT 21H
MOV DL,0AH;回车
MOV AH,2
INT 21H
MOV DL,0DH;换行
INT 21H
JMP START
MOV AH,4CH;结束程序
INT 21H
CODE ENDS
END START
比如把显示我们输入的数字再加1再输出来
CODE SEGMENT
ASSUME CS:CODE
START:
MOV AH,1
INT 21H
MOV BL,AL;先放到BL存下,也就是保起来
MOV DL,0AH;显示回车
MOV AH,2
INT 21H
MOV DL,0DH;换行
INT 21H
MOV DL,BL
INC DL;加1
INT 21H
MOV DL,0AH;回车
MOV AH,2
INT 21H
MOV DL,0DH;换行
INT 21H
JMP START
MOV AH,4CH;结束程序
INT 21H
CODE ENDS
END START

2023-12-06 广告
UIkit是一套轻量级、模块化且易于使用的开源UI组件库,由YOOtheme团队开发。它提供了丰富的界面元素,包括按钮、表单、表格、对话框、滑块、下拉菜单、选项卡等等,适用于各种类型的网站和应用程序。UIkit还支持响应式设计,可以根据不同...
点击进入详情页
本回答由网易云信提供
2013-06-22
展开全部
MOV AH,9
INT 21H ;这两句是调用21H中断的9号动能。其功能好像是显示字符吧。在这里类似于调用一个子程序。
某些中断之后al会改变
是 21h 中断的9功能在返回时,将刚才显示输出的字符返回在 al 寄存器里了
INT 21H ;这两句是调用21H中断的9号动能。其功能好像是显示字符吧。在这里类似于调用一个子程序。
某些中断之后al会改变
是 21h 中断的9功能在返回时,将刚才显示输出的字符返回在 al 寄存器里了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-06-22
展开全部
调用INT21H 的9号功能 会影响al的值 但是不一定为24H
如果需要用到al 在调用之前 最好 保存
可以先push 然后再 pop 这样不管怎么影响都可以确保你的 al值不变了
如果需要用到al 在调用之前 最好 保存
可以先push 然后再 pop 这样不管怎么影响都可以确保你的 al值不变了
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询