www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1994/10/27/01:22:54

To: djgpp <djgpp AT sun DOT soe DOT clarkson DOT edu>
Cc: pat <pat AT nick DOT csh DOT rit DOT edu>, matta AT nick DOT csh DOT rit DOT edu,
brenden AT nick DOT csh DOT rit DOT edu, noid AT nick DOT csh DOT rit DOT edu (My "flat" friends)
Subject: Re: Program works only when not optimized. Why?
Date: Wed, 26 Oct 1994 22:48:27 -0400
From: Robert Reay <grendel AT mail DOT csh DOT rit DOT edu>

In message <9410270204 DOT AA06397 AT cfa0 DOT harvard DOT edu DOT HARVARD DOT EDU>, Bob Babcock write
s:
> I wrote:
> > and print each rgb triplet.  On either of the systems I've tried it on it
> > dumps in the readpal routine if I optimize it.
> 
> Your readpal routine uses _go32_dpmi_simulate_int() without initializing ss
> and sp.  Unless they both happen to be zero, they are used as-is.  So, some
> random area of memory is being used as stack space.  Turning on optimization
[...]
> registers which you really care about.  The docs don't mention it, but some
> recent messages indicated that the value of the flags register could also
> cause trouble if, say, the single-step bit happened to be set.

I had several answers that said this same thing...  Thanks dj and er uh,
yeah I nuked the other name.  Any way I thought that adding either of

	regs.x.ss = regs.x.sp = reags.x.flags = 0;
	memset(&regs, (unsigned char)0, sizeof(_go32_dpmi_registers));

would fix it...  It didn't.  Anything else that I did aor am doing wrong?


				-Rob

- Raw text -


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