王爽《汇编语言》17章 乱记

上面是有理解,是有点技巧。

 

检测点17.1

“在INT 16H中断例程中,一定有设置IF=1的指令。”这说话对吗?

 

试着去找一下16中断例程汇编代码,没有设置IF=1的指令吧

这边仔细考虑一下,程序执行到INT 16H的时候,会调用16H号中断例程,在调用这个中断例程的时候,如果是没有设置IF=1,这边在执行到INT 16H中断例程的时候,如果是在键盘缓冲区里面没有找到数据,程序有自动的返回到原来的调用INT 16H的指令代码中去执行,这是第一种机制;

当我们在键盘上按下一个键的时候,这边就会有一种机制,就是,如果键盘缓冲区一直是被16H号中断例程给家监视着,或者说,按下键盘上的一个键的时候,机器自动调用INT 9中断例程的时候,将键盘上的数据放到键盘缓冲区的时候,同时会判断机器是否调用过16H中断例程,并且一直是在等待数据,如果是在等待数据的时候,就重新返回到16H号中断例程的指令断点中去执行16号中断例程,然后返回数据,这是第二种机制。

通过上面这个书上的例程来看,我们运行例程的时候,是执行到INT 16H的时候,例程就在等待我们输入数据(此时运行程序之前,键盘缓冲区的内容是空的),上面这样说的通,以此看来,是没有设置IF=1的指令的,但是如果是没有设置的时候,我们按下键盘上的一个键的时候,应该是不会自动去执行INT 9中断例程的,这是是否16H号中断例程就是通过第一种机制的呢,至于第一种机制是怎么实现的,这边应该也是有几种的猜测,准备休息上班,就到这边了……如果有看到本博客的大虾,帮个忙。

 

 

字符串处理:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值