**** 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...

(1)
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 ?

(2)
use _dos_sevect() to write a system call

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

Quote:
}

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

Quote:
}

=> 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 ?

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

(4)
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