www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1994/10/13/09:40:14

Date: Wed, 12 Oct 1994 17:14:31 -0400 (EDT)
From: Long Doan <ldoan1 AT mason1 DOT gmu DOT edu>
Subject: Re: Segmentation violations
To: "D.R.Tauritz" <dtauritz AT wi DOT leidenuniv DOT nl>
Cc: djgpp AT sun DOT soe DOT clarkson DOT edu

 [Continuing of first message]

I forgot to mention one thing: the ds register is likely to be messed up 
when the ISR is called, so in your install ISR code, you should put some 
code to get the ds (_go32_my_ds (),) and write this value into your ISR. 
In your ISR, you should do a push ds, and pop an arbitrary value (which 
will be overwitten by the installing routine.) The ISR should also save 
the registers it used (EA..EDX, EDI, ESI) and restore them when it's 
done. It should also return via an IRET, if you choose to modify the IDT. 
You should also declare tics as volatile.

Hope that helps,
Long.
 

- Raw text -


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