Date: Wed, 12 Oct 1994 17:14:31 -0400 (EDT) From: Long Doan Subject: Re: Segmentation violations To: "D.R.Tauritz" 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.