雪绒★~花飘 发表于 2012-12-17 10:39:20

关于汇编检测点15.1的问题

书上说IF TF前面已经设置好了,前面是怎么设置的呢?

检测点15.1(1) 仔细分析一下书中的in9中断例程,看看是否可以精简一下?其实在我们的int 9中断例程中,模拟int指令调用原int 9中断例程的程序段是可以精简的,因为在进入中断例程后,IF和TF都已置0,没有必要再进行设置了,对于程序段:pushf ;标志寄存器入栈pushfpop bxand bh,11111100b ;IF和TF为flag的第9位和第8位push bxpopf ;TF=0,IF=0call dword ptr ds: ;CS、IP入栈;(IP)=ds:,(CS)=ds:

小新110 发表于 2012-12-17 10:39:21

本帖最后由 小新110 于 2012-12-17 14:39 编辑

你的疑问是:书上说IF TF前面已经设置好了,前面是怎么设置的呢?
15.4 键盘输入的处理过程:1、键盘产生扫描码;2、扫描码送入60h端口;3、引发9号中断;4、cpu执行int 9中断例程。。。
中断过程中 IF=0,TF=0;看15.2,对中断过程的说明, 4步,第二步就是设置IF,TF的

小新110 发表于 2012-12-17 14:30:00

哎,终于看懂了,看了小一个小时啊

小新110 发表于 2012-12-17 14:30:37

你的疑问是:书上说IF TF前面已经设置好了,前面是怎么设置的呢?
页: [1]
查看完整版本: 关于汇编检测点15.1的问题