level 3
大哥,怎么在BCB或VC中实现禁止dos中断(最好是BCB的,实在不行VC也可以)?就是怎么能实现TC中的disable()和enable()?因为BCB中没有dos.h,切确地说是它的dos.h已经把disable()的内容去掉了?我在翻译一个TC的程序,把它变成BCB的
2006年06月10日 12点06分
1
level 3
大哥,我已经找到了,是_disable和_enable;但找不到getvect和setvect这两个函数了我在头文件里找了,没有怎么在BCB里进行中断向量的操作?
2006年06月10日 14点06分
2
level 6
TC的程序为什么需要翻译才能在BCB或者VC上跑?
2006年06月11日 06点06分
3
level 9
getvect和setvectBCB里面是绝对有的,可惜我不知道在哪个头文件,你找找看,我刚才在BCB官方站点查了一下,有使用方法,但是没有找到头文件。。。TC使用的一些DOS库的实现,在32位编译器中实现是不同的,所以需要一些转换
2006年06月12日 02点06分
6
level 3
我找到了另外一个实现方法,就是调用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
采用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