Interrupt 2Eh (undocumented by Microsoft) (DOS 2.0+)* Internal Routine for DOS (Alternate EXEC)
This interrupt passes a command line addressed by DS:SI to COMMAND.COM. The
command line must be formatted just like the unformatted parameter area of a
Program Segment Prefix. That is, the first byte must be a count of characters,
and the second and subsequent bytes must be a command line with parameters,
terminated by a carriage return character.
When executed, int 2Eh will reload the transient part of the command
interpreter if it is not currently in memory. If called from a program that
was called from a batch file, it will abort the batch file. If executed from a
program which has been spawned by the EXEC function, it will abort the whole
chain and probably lock up the computer. Int 2Eh also destroys all registers
including the stack pointer.
Int 2Eh is called from the transient portion of the program to reset the DOS
PSP pointers using the above Functions #81 & #80, and then reenters the
resident program.
When called with a valid command line, the command will be carried out by
COMMAND.COM just as though you had typed it in at the DOS prompt. Note that the
count does not include the carriage return. This is an elegant way to perform a
SET from an application program against the master environment block for
example.
entry DS:SI pointer to an ASCIIZ command line in the form:
count byte
ASCII string
carriage return
null byte
note 1) Destroys all registers including stack pointer
2) Seems to work OK in both DOS 2.x and 3.x
3) It is reportedly not used by DOS.
4) As far as known, int 2Eh is not used by DOS 3.1, although it was called
by COMMAND.COM of PCDOS 3.0, so it appears to be in 3.1 only for the
sake of compatibility.
Questions: