Interrups | Categories | Contents |
DS:SI -> commandline to execute (see #02585)
Return:
All registers except CS:IP destroyed AX = status (4DOS v4.0) 0000h successful FFFFh error before processing command (not enough memory, etc) other error number returned by command
Notes: This call allows execution of arbitrary commands (including COMMAND.COM internal commands) without loading another copy of COMMAND.COM. If COMMAND.COM is the user's command interpreter, the primary copy executes the command; this allows the master environment to be modified by issuing a "SET" command, but changes in the master environment will not become effective until all programs descended from the primary COMMAND.COM terminate. Since COMMAND.COM processes the string as if typed from the keyboard, the transient portion needs to be present, and the calling program must ensure that sufficient memory to load the transient portion can be allocated by DOS if necessary. Results are unpredictable if invoked by a program run from a batch file because this call is not reentrant and COMMAND.COM uses the same internal variables when processing a batch file. Hooked but ignored by 4DOS v3.0 COMMAND.COM replacement unless SHELL2E has been loaded. The MS-DOS 5 Programmer's Reference calls this "Reload Transient"
Format of DOS commandline: Offset Size Description (Table 02585) 00h BYTE length of command string, not counting trailing CR 01h var command string N BYTE 0Dh (CR)
Category: Shells/Command Interpreters - Int 2Eh - D
Interrups | Categories | Contents |