Path: utzoo!utgpu!water!watmath!clyde!att!ucbvax!SIMTEL20.ARMY.MIL!W8SDZ From: W8SDZ@SIMTEL20.ARMY.MIL (Keith Petersen) Newsgroups: comp.sys.zenith.z100 Subject: Fast machine language uudecode for MSDOS Message-ID: Date: 5 Sep 88 19:38:00 GMT Sender: daemon@ucbvax.BERKELEY.EDU Organization: The Internet Lines: 52 [---forwarded message---] Date: Sunday, 4 September 1988 17:14-MDT >From: kaldis@topaz.rutgers.edu (Theodore A. Kaldis) To: Keith Petersen Re: Assembly Language UUDecoder [UUDECODE.ARC] contains three MS-DOS files: UUDECODE.EXE, which is an assembly language UUDecoder for MS-DOS; UU.ASM, which is the assembly source code for it; and UUDECODE.BAS, which is an ASCII BASIC file that will create UUDECODE.EXE when run. UUDECODE.EXE is a "packed" .EXE file, packed by the Microsoft utility EXEPACK. The original UU.EXE was over 64K long, as it utilizes a 63.75K input buffer. The program will take the input filename from the command tail, or else will prompt the user for one if none is specified. Paths are supported up to 40 characters for input filenames. The output filename is taken from the .uue file, and is written to the current directory. Input files can be any length, and the headers need not be removed. However, spurious lines between the 'begin' and 'end' lines *must* be removed (by "cat infile | sed '/^BEGIN/,/^END/p' > outfile", on the UNIX side for example, given Rahul's current format). Anything beyond the 'end' line is ignored. If no 'end' is found, the output file is saved, but an error message is displayed. Since this program has been written in assembly language, it is lightning-fast. Most of the execution time is taken up by disk reads and writes (at least such is the case on my 12 MHz '286 machine). When all the files are on a hard disk, the conversion takes place in just a few seconds. UUDECODE.BAS is included for the benefit of those who do not have a UUDecoder. This method strikes me as a bit more sensible -- and certainly more convenient -- than the BASIC UUDecoder that I first used to UUDecode a "real" UUDecoder. Finally, this program was written "on the fly", i.e., it was not well- planned beforehand -- I just sat down at the PC, and started coding. I am not aware of any bugs, and you will also notice that the source is not commented. I declared a copyright on the source, but all rights are waived with the exception that the copyright notice not be removed, and proper credit is given. Others are free to modify the code, so long as they give proper credit to the original author. --------------------------------------- UUDECODE.ARC has been added to the SIMTEL20 archives in directory PD1:. --Keith Petersen Maintainer of the CP/M and MSDOS archives at SIMTEL20.ARMY.MIL [26.0.0.74] Arpa: W8SDZ@SIMTEL20.ARMY.MIL Uucp: {att,decwrl,harvard,ucbvax,uunet,uw-beaver}!simtel20.army.mil!w8sdz