Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Posting-Version: version B 2.10.2 9/5/84; site baylor.UUCP
Path: utzoo!watmath!clyde!burl!ulysses!gamma!epsilon!zeta!sabre!petrus!bellcore!decvax!genrad!panda!talcott!harvard!seismo!ut-sally!ut-ngp!shell!neuro1!baylor!peter
From: peter@baylor.UUCP (Peter da Silva)
Newsgroups: net.micro.pc
Subject: Re: Re: REP vs. REPZ - I goofed.
Message-ID: <475@baylor.UUCP>
Date: Mon, 19-Aug-85 10:45:39 EDT
Article-I.D.: baylor.475
Posted: Mon Aug 19 10:45:39 1985
Date-Received: Sat, 24-Aug-85 16:46:13 EDT
References: <16092@watmath.UUCP> <7700009@prism.UUCP>
Organization: The Power Elite, Houston, TX
Lines: 30

> > Be aware that, as of Lattice C 2.15, movmem() does NOT preserve the contents
> > of the ES register!  If you are using the small model, Lattice expects ES
> > to be preserved across function invocations.  Lattice, Inc:  take note!
> > -- 
> > /* End of text from prism:net.micro.pc */
> 
> Note that MANY of the Lattice standard I/O routines have this problem,
> including peek(), intdos(), and bdos().  This is a real loss if you are
> using any of the DOS services that return vectors in ES:BX.
> 
> Is there anyone from Lattice on the net, now that they have a Unix box?

Aha! I have a problem where I'm trying to use "intdos" to do filename expansion
in _main() so that I get a nice expanded argv in main(). It works but it breaks
stdio. Has anyone got an intdos that fixes this? ALSO: why can't INTDOS have
the following calling protocol:

	int intdosx(regs, segregs)
	union REGS *regs;
	struct SREGS *segregs;

regs & segregs are both input and output. Result is the 8086 flags word. This
way you wouldn't need two buffers for REGS (I generaly call it with inregs
and outregs pointing to the same strcture), and you could get the resulting
ES register? Maybe someone could post a better version of intdos, int86,
intdosx, and int86x... Lattice? Lifeboat? DO you hear me?
-- 
	Peter (Made in Australia) da Silva
		UUCP: ...!shell!neuro1!{hyd-ptd,baylor,datafac}!peter
		MCI: PDASILVA; CIS: 70216,1076