**** Help me on Watcom c and ISR **** 
Author Message
 **** Help me on Watcom c and ISR ****

Hi ! Ladies and gentlemen :

Thanks for your reading and any sugestion.

I try to use Watcom c++ to compile some .exp file to run under pharlap 386
Dos Extender Ver 4.0. But I have some problem...

I found the H/W IDT (Interrupt Descript Table) Segment Alias is 50H (In GDT),
thus I could setup my system call directly without using Dos Extender services
INT 21H function AX=2504H etc.

But every time I try to chain Dos Extender system call (INT 21H) in my ISR
then set new INT 21H points to my ISR, it will generate exception, why ?

Is it possible to set IDT entry 21H point to my ISR then we transfers control
to original Dos Extender service ?

use _dos_sevect() to write a system call

void __interrupt __far myfunc(void)
 cout << "This is my system call";


void main(void)
 _dos_sevect(0x77, &myfunc);
 union REGS regs;
 int386(0x77, &regs, &regs);


=> it will generate a general protection exception; but if I setup this ISR by
Dos Extender system call INT 21H Function AX=253D it will work correctly, why ?

How to access INTPACK data structure for one ISR function to get original
register value ? Does it really work ?

How to return a value from a ISR program ?

Thanks in advance !

                                 Gan-Chia Yang in NCKU

Sat, 07 Sep 1996 22:52:54 GMT  
 [ 1 post ] 

 Relevant Pages 

1. switch() in Watcom ISR problem

2. *** ISR trouble using Watcom c

3. help debugging ISR function

4. ISR's: HELP ME!!!

5. Hardware Access and ISR'S.......Help

6. Help me from Borland C to Watcom C.

7. Help getting Watcom 11.0 floating point emulation working in non-DOS environment

8. Need help for Watcom programming

9. Need help for Watcom C programming

10. Help with Watcom Compiler

11. Borland To Watcom (farmalloc) Help!

12. help on watcom C/windows


Powered by phpBB® Forum Software