delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1995/05/30/03:48:40

Date: Mon, 29 May 1995 15:06:44 -0700
To: djgpp AT sun DOT soe DOT clarkson DOT edu
From: jhunter AT kendaco DOT telebyte DOT com (Joel Hunter)
Subject: Manually calling iret functions

  I have kind of a strange question.  I'm going to be reprogramming the PIT
chip to generate a Timer interrupt more than 18.2 times a second.  But so I
don't screw up the system's clock, I want to still call the original
timer-handler-routine, just not every time an interrupt is generated.
_go32_chain_protected_mode_interrupt_vector()  is obviously not the solution
-- I need to check to see if the time is right, and if it is MANUALLY call
the old timer function.  What is the best way to do this? (Ignore real-mode
for now -- I'm only worried about protected-mode.)
  If I remember correctly, an interrupt call first pushes the flags, then
the CS, then the IP (is that right?).  Should I just do a 'pushfl' and a
'pushw %cs' and then 'call _oldHandler'?   Do I have to 'addl $6, %esp'
afterwards?
  All help greatly appreciated...

--
jhunter AT kendaco DOT telebyte DOT com
                            *A not-even-close-to-full-service internet
provider                             *for those in no position to complain.
                            *
 

- Raw text -


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