Path: utzoo!utgpu!news-server.csri.toronto.edu!clyde.concordia.ca!uunet!image.soe.clarkson.edu!news From: nelson@sun.soe.clarkson.edu (Russ Nelson) Newsgroups: comp.sys.ibm.pc.programmer Subject: Re: How dows LZEXE work ??? Message-ID: Date: 10 Jul 90 04:22:43 GMT References: <9857@cs.utexas.edu> <4263@jato.Jpl.Nasa.Gov> <1990Jul9.232906.8904@Solbourne.COM> Sender: news@sun.soe.clarkson.edu Reply-To: nelson@clutx.clarkson.edu Organization: Clarkson University, Potsdam NY Lines: 23 In-reply-to: imp@dancer.Solbourne.COM's message of 9 Jul 90 23:29:06 GMT In article <1990Jul9.232906.8904@Solbourne.COM> imp@dancer.Solbourne.COM (Warner Losh) writes: The reason for this is that the data doesn't exist in the same format as it did before you lzexeed the file. What lzexe does is to encode the file using the Lempel-Zev compression algorithms (more or less) and then placing a loader that knows how to expand the results at the front of the file. It also does relocation after it expands the file, but I don't know[*] if MS-DOS does the expansion or not. Nor do I know if the LZ expander stays in memory or not after the program has been exploded. I have never seen the source to this beast. MS-DOS just loads the whole thing. The loader moves the file and itself up in memory, and then expands the file back down. Then it runs through the relocation table, which is has rewritten in a more compact form. It sets up registers just like MS-DOS does, and jumps to the program. -- --russ (nelson@clutx [.bitnet | .clarkson.edu]) Russ.Nelson@$315.268.6667 In Communism's central planning, citizens are told "you will make widgets". In Capitalism's advertising, citizens are told "you will buy widgets".