+ -
当前位置:首页 → 问答吧 → int 21h 指令是怎样影响al的值的?

int 21h 指令是怎样影响al的值的?

时间:2008-12-27

来源:互联网

汇编里输入输出经常用到 int 21h 指令,此指令会改变 al 的值,而且改变好像没有什么规律,
不知哪位高手能给解释一下它是怎样影响al的值的

作者: jiaoxun326   发布时间: 2008-12-27

不同的功能返回的AL含义也不同。

作者: cnzdgs   发布时间: 2008-12-27

google搜索"int21"第一个结果是
http://www.uv.tietgen.dk/staff/mlha/PC/Prog/ASM/INT/21/index.htm

作者: xiaopoy   发布时间: 2008-12-28

int 21h 是根据ah的值完成不同的功能,如果ah是2,执行int 21h 后 al的值变成dl的内容,但是ah等于9执行int 21h 后al的内容变为 24h 不明白是什么原因

作者: jiaoxun326   发布时间: 2008-12-28

友情UP

作者: sunjor   发布时间: 2008-12-28

中断后会调用对应中断号的服务程序,在中断服务程序中会使用ax而没有对ax进行现场保护,返回会改变,通常也把函数的返回值放到ax中

作者: sunjor   发布时间: 2008-12-28

没明白意思

作者: zhaoxianghua   发布时间: 2008-12-28

引用 3 楼 jiaoxun326 的回复:
int 21h 是根据ah的值完成不同的功能,如果ah是2,执行int 21h 后 al的值变成dl的内容,但是ah等于9执行int 21h 后al的内容变为 24h 不明白是什么原因

9号功能,int 21 后,因为字符串以"$"结尾。al会变成"$"对应的24h

作者: swwnj   发布时间: 2010-12-02