. : : Assembly Language : : .
|
首页
|
我提出的问题
|
我参与的问题
|
我的收藏
|
消息中心
|
游客 登录
|
刷新
|
提问
|
未解决
|
已解决
|
精华区
|
搜索
|
《汇编语言》论坛
->
外中断
管理员:
assembly
[
回复本贴
]
[
收藏本贴
] [
管理本贴
] [
关闭窗口
]
主题 : :
15.5 安装新的int9中断程序中,有一句话 “当此中断例程执行时(CS)=0",这句话怎么理解?
[待解决]
回复[
4
次 ] 点击[
409
次 ]
miaoasm
[帖 主]
[ 发表时间:2011-07-24 14:35 ]
[
引用
]
[
回复
]
[
top
]
荣誉值:0
信誉值:0
注册日期:2011-06-13 15:40
在自定义的新的终端中,有一句话,
pushf
call dword ptr cs:[200H] ; 当此中断例程执行时(CS)=0
我不太理解 CS=0的 原因是什么。
是因为这个中断安装在 0:204H 处,所以 CS就是 0么?
还是有什么其他原因呢?
我把这里 改成
mov ax,0
mov es,ax
pushf
call dword ptr es:[200H],这样却得不到正确的结果,不知道为什么?
miaoasm
[第
1
楼]
[ 回复时间:2011-07-24 14:38 ]
[
引用
]
[
回复
]
[
top
]
荣誉值:0
信誉值:0
注册日期:2011-06-13 15:40
不好意思,我明白了!
第二种做法是正确的!
只是 它改变了 AX的数值,而 AL在 IN AL,60H中还要起作用,所以不正确
OK了,彻底明白了~呵呵
juende66
[第
2
楼]
[ 回复时间:2011-12-06 15:22 ]
[
引用
]
[
回复
]
[
top
]
荣誉值:0
信誉值:0
注册日期:2011-11-11 23:27
是cpu 中断过程 原因
因为 cpu在响应中断的时候 会有一个保护现场的工作 这个工作叫做 中断过程,中断过程的最后一步就是如果中断向量 修改CS:IP 指向中断处理程序 ,而你所指的这个程序被安装在0000:204处
所以call dword ptr cs:[200h] 中的 cs 是0
juende66
[第
3
楼]
[ 回复时间:2011-12-06 15:23 ]
[
引用
]
[
回复
]
[
top
]
荣誉值:0
信誉值:0
注册日期:2011-11-11 23:27
纠正下
是cpu 中断过程 原因
因为 cpu在响应中断的时候 会有一个保护现场的工作 这个工作叫做 中断过程,中断过程的最后一步就是通过中断向量 修改CS:IP 指向中断处理程序 ,而你所指的这个程序被安装在0000:204处
所以call dword ptr cs:[200h] 中的 cs 是0
jeremy
[第
4
楼]
[ 回复时间:2012-08-10 18:58 ]
[
引用
]
[
回复
]
[
top
]
荣誉值:0
信誉值:0
注册日期:2012-03-09 19:30
我也是这个问题
需要登录后才能回帖 -->>
请单击此处登录
Copyright © 2006-2024 ASMEDU.NET All Rights Reserved