怎么在BCB或VC中实现禁止dos中断
鬼火狼烟吧
全部回复
仅看楼主
level 3
ellison909 楼主
大哥,怎么在BCB或VC中实现禁止dos中断(最好是BCB的,实在不行VC也可以)?就是怎么能实现TC中的disable()和enable()?因为BCB中没有dos.h,切确地说是它的dos.h已经把disable()的内容去掉了?我在翻译一个TC的程序,把它变成BCB的
2006年06月10日 12点06分 1
level 3
ellison909 楼主
大哥,我已经找到了,是_disable和_enable;但找不到getvect和setvect这两个函数了我在头文件里找了,没有怎么在BCB里进行中断向量的操作?
2006年06月10日 14点06分 2
level 6
TC的程序为什么需要翻译才能在BCB或者VC上跑?
2006年06月11日 06点06分 3
level 9
咦,我刚才发的帖子呢。。。。
2006年06月12日 02点06分 5
level 9
getvect和setvectBCB里面是绝对有的,可惜我不知道在哪个头文件,你找找看,我刚才在BCB官方站点查了一下,有使用方法,但是没有找到头文件。。。TC使用的一些DOS库的实现,在32位编译器中实现是不同的,所以需要一些转换
2006年06月12日 02点06分 6
level 3
ellison909 楼主
我找到了另外一个实现方法,就是调用dos的中断函数,对于getvect的功能,它在中断向量表35H处所指向的函数中,只是我暂时还不知道怎么传递参数和调用它(应该用到asm汇编了吧?)不过我更期待能直接在BCB中用getvect和setvect函数在C中,它的头文件是dos.h但在BCB中的dos.h就没有找到了
2006年06月12日 03点06分 7
level 9
在第4个帖子中有我给你找的BCB官方getvect的sample链接,不知道怎么的给百度删除了,你可以自己去bcb网站搜一下getvect就找到了
2006年06月12日 07点06分 8
level 3
ellison909 楼主
采用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也是一样,呵呵谢谢大哥了
2006年06月12日 14点06分 10
1