limee
驱动牛犊
驱动牛犊
  • 注册日期2004-03-02
  • 最后登录2006-07-25
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1102回复:7

如何理解软中断?

楼主#
更多 发布于:2005-03-18 19:05
下面一段程序是Delphi写的GUI程序,里面有int13h的软中断的调用。
对于Win9x的系统,如果写成Console的模式的程序,则运行没有问题。
而编译为GUI模式的话,会出现蓝屏的异常。

而对于以nt为架构的Win2x/xp系统,无论是console模式还是GUI模式,
都会被系统的结构化异常(SEH)所屏蔽。

你对这个问题是怎么看的?是否可以在Win2k下面写一个驱动,使得
Win2k/xp能够调用INT13H

procedure TForm1.Button1Click(Sender: TObject);
var
   buff :array[1..512] of byte;
begin
    asm
       mov ax,201h
       mov bx,offset buff
       mov cx,0001
       mov dx,0000
       int 13h
    end
end;
wowocock
VIP专家组
VIP专家组
  • 注册日期2002-04-08
  • 最后登录2016-01-09
  • 粉丝16
  • 关注2
  • 积分601分
  • 威望1651点
  • 贡献值1点
  • 好评度1227点
  • 原创分1分
  • 专家分0分
沙发#
发布于:2005-03-19 10:46
建议你把基本概念搞清楚再说......
花开了,然后又会凋零,星星是璀璨的,可那光芒也会消失。在这样 一瞬间,人降生了,笑者,哭着,战斗,伤害,喜悦,悲伤憎恶,爱。一切都只是刹那间的邂逅,而最后都要归入死亡的永眠
bmyyyud
驱动老牛
驱动老牛
  • 注册日期2002-02-22
  • 最后登录2010-01-21
  • 粉丝0
  • 关注0
  • 积分1000分
  • 威望130点
  • 贡献值0点
  • 好评度106点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2005-03-19 11:44
下面一段程序是Delphi写的GUI程序,里面有int13h的软中断的调用。
对于Win9x的系统,如果写成Console的模式的程序,则运行没有问题。
而编译为GUI模式的话,会出现蓝屏的异常。

而对于以nt为架构的Win2x/xp系统,无论是console模式还是GUI模式,
都会被系统的结构化异常(SEH)所屏蔽。

你对这个问题是怎么看的?是否可以在Win2k下面写一个驱动,使得
Win2k/xp能够调用INT13H

procedure TForm1.Button1Click(Sender: TObject);
var
   buff :array[1..512] of byte;
begin
    asm
       mov ax,201h
       mov bx,offset buff
       mov cx,0001
       mov dx,0000
       int 13h
    end
end;

看看有关保护模式的书,应用程序和驱动运行在不同的Ring。Windows将所有硬件的权限都拿走了,对于Win9x的系统,如果写成Console的模式的程序,则运行没有问题。其实是win9x捕获你的要求,然后它用VxD实现后将结果给你的
滚滚长江东逝水 浪花淘尽英雄 是非成败转头空 青山依旧在 几度夕阳红 白发渔樵江渚上 惯看秋月春风 一壶浊酒喜相逢 古今多少事 尽付笑谈中
bmyyyud
驱动老牛
驱动老牛
  • 注册日期2002-02-22
  • 最后登录2010-01-21
  • 粉丝0
  • 关注0
  • 积分1000分
  • 威望130点
  • 贡献值0点
  • 好评度106点
  • 原创分0分
  • 专家分0分
地板#
发布于:2005-03-19 12:36
Win2k中有关int 13h的要求是靠磁盘驱动实现的,不再调用BIOS的这个Int 13h了,即直接端口IO控制DMA或PIO传输,捕获磁盘请求需靠过滤驱动实现。你看Intel 386手册时发现前20h个中断是Intel保留的,所有硬件中断被Windows搬走了,就是核心中也已不再能用int 13h了
滚滚长江东逝水 浪花淘尽英雄 是非成败转头空 青山依旧在 几度夕阳红 白发渔樵江渚上 惯看秋月春风 一壶浊酒喜相逢 古今多少事 尽付笑谈中
reegees
驱动牛犊
驱动牛犊
  • 注册日期2005-01-10
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分144分
  • 威望18点
  • 贡献值0点
  • 好评度13点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2005-03-19 14:02
在系统启动阶段,就是ntldr时就已经把BIOS区域搬移了,在完成系统的初始化后就被覆盖掉了.
bmyyyud,你的QQ还没有申请下来么?有事情找你
bmyyyud
驱动老牛
驱动老牛
  • 注册日期2002-02-22
  • 最后登录2010-01-21
  • 粉丝0
  • 关注0
  • 积分1000分
  • 威望130点
  • 贡献值0点
  • 好评度106点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2005-03-19 16:24
在系统启动阶段,就是ntldr时就已经把BIOS区域搬移了,在完成系统的初始化后就被覆盖掉了.
bmyyyud,你的QQ还没有申请下来么?有事情找你

QQ根本无法申请,MSN也出了个什么7.0也不能用了。不行用个快递通吧。www.kdt.cn上下一个,还能远程控制呢,号也好申请,请大家试用!!我刚申请了个号:2564876,我等你。。。
滚滚长江东逝水 浪花淘尽英雄 是非成败转头空 青山依旧在 几度夕阳红 白发渔樵江渚上 惯看秋月春风 一壶浊酒喜相逢 古今多少事 尽付笑谈中
bmyyyud
驱动老牛
驱动老牛
  • 注册日期2002-02-22
  • 最后登录2010-01-21
  • 粉丝0
  • 关注0
  • 积分1000分
  • 威望130点
  • 贡献值0点
  • 好评度106点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2005-03-19 17:09
[quote]在系统启动阶段,就是ntldr时就已经把BIOS区域搬移了,在完成系统的初始化后就被覆盖掉了.
bmyyyud,你的QQ还没有申请下来么?有事情找你

QQ根本无法申请,MSN也出了个什么7.0也不能用了。不行用个快递通吧。www.kdt.cn上下一个,还能远程控制呢,号也好申请,请大家试用!!我刚申请了个号:2564876,我等你。。。 [/quote]
等不着你了,不知有什么事,只好改天了,申请到快递通号写在下面
滚滚长江东逝水 浪花淘尽英雄 是非成败转头空 青山依旧在 几度夕阳红 白发渔樵江渚上 惯看秋月春风 一壶浊酒喜相逢 古今多少事 尽付笑谈中
paladinii
驱动中牛
驱动中牛
  • 注册日期2003-10-28
  • 最后登录2012-03-09
  • 粉丝0
  • 关注0
  • 积分282分
  • 威望74点
  • 贡献值0点
  • 好评度23点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2005-03-19 17:42
有什么事情可以发邮件啊,我可以立刻收到。
Ideas for life!
游客

返回顶部