Several years ago I used to write x86 assembly programs for MS-DOS operating system; most of them still run unmodified in Windows CMD.EXE command processor. My question is about two specific points in these programs:
The program parameters are located at offset 81H in the Program Segment Prefix and have a maximum lenght of 127 characters.
The ERRORLEVEL value that the program return is loaded in AL register prior to the Terminate Program function (4CH) of the INT 21H, so it is limited to values in the range 0-255.
I realized that in Windows XP the commands executed in a DOS window can process parameters of up to 8 KB size and may return a 32-bits signed value as ERRORLEVEL. So my question is: Is there a SIMPLE way that an old-style MS-DOS assembly program may have access to 8KB parameters and return 32-bits ERRORLEVEL values?
Yes, I know that a Windows-compliant assembly program have access to these features, but I wonder if a program could do that in a very simple way...