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