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: