ftp.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1992/10/30/06:22:16

Date: Fri, 30 Oct 92 11:50:04 +0100
From: Questa Paolo <questa AT dist DOT dist DOT unige DOT it>
To: djgpp AT sun DOT soe DOT clarkson DOT edu
Subject: SET INTERRUPT

I'm working on an IBM AT compatible , 80386 ,8MB extended memory.
I need to drive a custom frame grabber.
I wrote an interrupt routine , to drive the board acquisition , and I want
to set an interrupt vector to the address of the new interrupt routine.
Using Borland TC function SETVECT() and GETVECT() everithing works
properly.
Now I've installed GNU GCC . What I've done is :
Declared two union REGS r,s;
         a void *oldhandler;
       setted   r.h.al to the interrupt number ( 0x0F )
                r.h.ah  to 0x35 ;
then I call     intdos(&r,&s)  ;
And i expected to find the address of the int. func. I want to change into
  s.x.bx ;
But when I run GO32 it says :
exception 33 at eip=400022 ;
Why? Am I not allowed to get and set any interrupt ?
Does anybody can help me ?
Thank to everybody !
Paolo Questa  LIRA-Lab , DIST , University of Genova , Italy.

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019