AH = 4B
AL = 00 to load and execute program
= 01 (Undocumented) create program segment prefix and load
program, but don't execute. The CS:IP and SS:SP of the
program is placed in parameter block. Used by debuggers
= 03 load program only
= 04 called by MSC spawn() when P_NOWAIT is specified
DS:DX = pointer to an ASCIIZ filename
ES:BX = pointer to a parameter block
on return:
AX = error code if CF set (see ~DOS ERROR CODES~)
ES:BX = when AL=1, pointer to parameter block similar to:
% Offset Size Description
00 word when AL=1, segment of env. or zero if using parents env.
word when AL=3, segment of load point for overlay
02 dword when AL=1, pointer to cmd line at PSP 80h
word when AL=3, relocation factor for EXE overlay
06 dword pointer to default ~FCB~ passed at ~PSP~ 5Ch
0A dword pointer to default FCB passes at PSP 6Ch
0E dword value of program SS:SP
12 dword value of program CS:IP
- allows execution of an external program as well as overlay
management from within an application
- all registers except CS and IP are destroyed
- SS and SP should be preserved in code segment before call
since a bug in DOS version 2.x destroys these
- return code can be retrieved if child process exits via ~INT 21,4C~
- calling process must assure presence of enough unallocated memory
- subfunction 4 returns with an error under DOS 4.x+
- calls ~INT 21,55~
- see also ~INT 21,26~
Zurück zum Interrupt Info. | Roger Morgan / 1998 | L.Änderung 29.03.99 |