en:docs:dos:api:int2e

Note: This API call is for DOS and Win16 personality only. Use Family API for portability.

2018/09/07 05:04 · prokushev · 0 Comments

Int 2EH

Version

2 and higher

Brief

PASS COMMAND TO COMMAND INTERPRETER FOR EXECUTION

Family API

Input

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
 

Macro

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"

See Also

Note

2018/09/04 17:23 · prokushev · 0 Comments