鬼火狼烟吧 关注:230贴子:5,304
  • 3回复贴,共1

怎么在BCB或VC中实现禁止dos中断

取消只看楼主收藏回复

大哥,怎么在BCB或VC中实现禁止dos中断(最好是BCB的,实在不行VC也可以)?
就是怎么能实现TC中的disable()和enable()?
因为BCB中没有dos.h,切确地说是它的dos.h已经把disable()的内容去掉了?
我在翻译一个TC的程序,把它变成BCB


IP属地:湖南1楼2006-06-10 20:54回复
    大哥,我已经找到了,是_disable和_enable;

    但找不到getvect和setvect这两个函数了
    我在头文件里找了,没有
    怎么在BCB里进行中断向量的操作


    IP属地:湖南2楼2006-06-10 22:23
    回复
      2026-06-27 18:07:24
      广告
      不感兴趣
      开通SVIP免广告
      我找到了另外一个实现方法,就是调用dos的中断函数,对于getvect的功能,它在中断向量表35H处所指向的函数中,只是我暂时还不知道怎么传递参数和调用它(应该用到asm汇编了吧?)


      不过我更期待能直接在BCB中用getvect和setvect函数
      在C中,它的头文件是dos.h
      但在BCB中的dos.h就没有找到了


      IP属地:湖南7楼2006-06-12 11:43
      回复
        采用DOS功能调用"INT 21H"中的AH=25H来装入中断向量,其程序段为:
        MOV AL,N         ;中断号         
        MOV AH,25H       ;设置中断向量         
        MOV DX,SEG-INTR         
        MOV DS, DX        ;DS指向中断程序段址         
        MOV DX, OFFET-INTR   ;DX指向中断程序偏移量         INT 21H 
        setvect的功能就实现了
        改完成asm以后就能了
        getvect也是一样,呵呵
        谢谢大哥了


        IP属地:湖南10楼2006-06-12 22:08
        回复