社区
汇编语言
帖子详情
为什么在调用中断前,要给ah赋个值?
kyq9
2004-07-08 09:06:08
例如
mov al,1ch
mov ah,25h
int 21h
不明白为什么啊?
...全文
241
8
打赏
收藏
为什么在调用中断前,要给ah赋个值?
例如 mov al,1ch mov ah,25h int 21h 不明白为什么啊?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
fly4free
2004-07-15
打赏
举报
回复
这是硬件设计的问题。
IBM-PC在响应(恩……,查看?)中断时,是要根据AH的值,也就是相应电路端点的高低电平来判断是哪个功能。
dunkel(内心和夜 哪个黑)
“用户自己设计了一个中断功能组”,怎么设计?还不是基于硬件的设计。当然,硬件逻辑也可抽象到软件上面……,这样说的话,所有的问题不都是软件问题?哈哈
wangziz
2004-07-14
打赏
举报
回复
35h是取中断向量
snowegale888
2004-07-09
打赏
举报
回复
good
dunkel
2004-07-09
打赏
举报
回复
fanxero(方舟二号) 上面的说法不完全对吧. 调用中断, 这里的中断应该是软中断了, 象是 int10h, int21h 等等这样的. 这样的中断, 往往是能够完成许多功能的, 如何来区别用户要实现的是哪个功能呢, 就是通过 AH 来判断的, 这就是所谓的功能号了. 把功能号置于 AH 中, 这只是个约定俗成的做法, 不是 "硬件这样设计的". 如果是用户自己设计了一个中断功能组的话, 它完全可以把功能号放到其他的寄存器里, 当然这样的做法在大家都已经习惯了在 AH 里时, 是否恰当就是另外一回事了. 实际上, 有些时候情况可能还要复杂些, 就是一个功能里面, 还可能包含更细的子功能, 象是 int21h 的 AH=44h 功能组, int10h 的 AH=0Bh 功能组等等. 这时, 除了要将功能号置于 AH 中之外, 还需要设置子功能号, 这时的做法各个中断就不完全一致了, 有放在 AL 中的, 有在 BH 中的, ...
以功能的类别来理解中断调用的参数设置, 主要是寄存器值的设置, 这样比较有条例些, 也容易理解. 虽然也可以笼统地以函数调用的参数来看, 但可能就不如前面的那种方法直观了.
SDFDSAC
2004-07-09
打赏
举报
回复
int是dos系统功能调用
ah里放的是功能号,就是具体调用哪个功能
你上面的就是调用25号功能(设置中断向量)
al里放的是调用参数
fanxero
2004-07-08
打赏
举报
回复
在C语言中,假如你定义了一个函数void fun(int a),整型变量a就是函数fun的参数。参数是处理的对象。
汇编语言调用中断服务程序,也需要给它参数,放ah里的值就是传给中断服务程序的参数,对于同一个中断不同的参数值代表不同的处理。放ah里的值所代表意义不直观,没什么为什么,硬件这样设计的。为什么要放ah里是还是因为硬件的设计这样做,完全可以设计为放在其它寄存器里。
kyq9
2004-07-08
打赏
举报
回复
tankbattle(坦克大战) 老兄能讲的详细点吗?
tankbattle
2004-07-08
打赏
举报
回复
int21h是dos提供的一个软中断,已给用户提供通用的服务,就像win32api一样。ah的值是入口参数,就像我们调用函数的参数一样,只是传递的方式不同
汇编 从键盘输入一个数字N(0~9),然后显示N个大写字母“A”
(1)键盘输入使用21H功能
调用
MOV
AH
,1 INT 21H ;输入字符的ASCII码将保存在AL寄存器中 (2)将输入数字的ASCII码转换成数字本身 (3)循环输出
设置一个存储区,从键盘输入n(n<50)个字符并送入存储区,一回车符为结束输入,然后依次从存储区逐个取出在显示器上输入
设置一个存储区,从键盘输入n(n<50)个字符并送入存储区,一回车符为结束输入,然后依次从存储区逐个取出在显示器上输入
微机原理第7章习题与答案.doc
微机原理第7章习题与答案.doc
键盘输入0和1统计男女人数汇编
键盘输入0和1共十个字符,1代表男,0代表女,统计男女人数
汇编倒计时程序,适用于电子钟表,交通灯,电子琴等的软件设计
汇编倒计时程序,适用于电子钟表,交通灯,电子琴等的软件设计
汇编语言
21,497
社区成员
41,618
社区内容
发帖
与我相关
我的任务
汇编语言
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
复制链接
扫一扫
分享
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章