andrews@hpcupt1.HP.COM (Edward E. Andrews) (04/06/88)
I am trying to load a program (without executing it) using an undocumented DOS function as follows: call RelMem ; release memory to allow load lea dx,byte ptr Filename ; get addr of file to load lea bx,byte ptr ParmBlk ; get addr of parameter block mov ah,4bh ; load program/overlay mov al,1 ; <--- do not execute program int 21h ; DOS function interrupt On return, the ParmBlk has the entry point and initial stack pointer values filled in. In the PSP of the loaded program, the saved address of INT 22h has the address of the instruction immediately following the INT 21h above. Fine. My question is what should be done to clean up the loaded program when it terminates? The Memory Control Block (MCB) list gets all messed up if just try to release the memory of the loaded program's environment block and program area. Files may still be open. Etc. Thanks in advance. +----------------------------DISCLAIMER-----------------------------------+ ! The above doesn't even represent my opinions, so how can they represent ! ! anybody else's? ! +-------------------------------------------------------------------------+