Microsoft Macro Assembler 4.00 and Utilities
Correction Notice
Utility for Redirection
December 11, 1985
With pre-4.0 versions of MASM, it is possible to redirect
the Assembler's output. For example,
MASM example; >errors.dat
will send the Assembler's error messages to 'errors.dat',
instead of to the console. However, the above command will
not redirect error messages with MASM 4.0.
MASM 4.0 sends error messages to standard error, one of the
MS-DOS standard device handles. It is not possible to
redirect output from MASM 4.0 because MS-DOS does not allow
redirection of standard error from the console. This disk
contains a utility which allows you to run MASM with
standard handles redirected. The files on this disk are:
WRITE.C
WRITE.EXE
E.C
E.EXE
README
The following is a description of the files and their
purpose:
WRITE.EXE
Allows you to determine where information for standard
output, standard error, standard auxiliary (usually serial
port), and standard printer (usually parallel port) will be
directed. The source code for the program is WRITE.C.
E.EXE
Executes a program after redirection of standard handles has
taken place. The program accepts arguments of the form:
e -r file command stdout and stderr to file
e -r #hnd command stdout and stderr to handle hnd
e -rhnd file command handle hnd to file
e -rhnd1 #hnd2 command handle hnd1 to handle hnd2
To append in addition to redirecting, use -a instead of -r.
The standard handles are:
0 - standard input (not useful here)
1 - standard output
2 - standard error
3 - standard auxiliary
4 - standard printer
The following are examples of command lines:
e -r out.dat masm test,,test;
send all standard output and standard error output to the
file 'out.dat'. Note that due to the difference in the way
C stream level stdout and stderr are handled, 'out.dat' may
contain output in a different order from that seen on the
screen.
e -r #4 masm test,,test;
send all standard output and standard error output to the
standard printer
e -r1 out.dat -r2 errs.dat masm test;
-- send standard output to file 'out.dat'
-- send standard error to file 'errs.dat'
e -r4 #1 masm test;
send standard printer data to standard output (console)
e -r1 nul -a2 errlog.dat -r4 out.dat masm test;
-- throw away standard output
-- append standard error to errlog.dat
-- send standard printer into out.dat
The source code for the program is E.C.