Author: aandrejevic Date: Sat Nov 9 18:10:21 2013 New Revision: 60904
URL: http://svn.reactos.org/svn/reactos?rev=60904&view=rev Log: [NTVDM] Allow COM programs to exit with a simple near return to PSP:0000. Spotted by Thomas Faber.
Modified: branches/ntvdm/subsystems/ntvdm/dos.c
Modified: branches/ntvdm/subsystems/ntvdm/dos.c URL: http://svn.reactos.org/svn/reactos/branches/ntvdm/subsystems/ntvdm/dos.c?rev... ============================================================================== --- branches/ntvdm/subsystems/ntvdm/dos.c [iso-8859-1] (original) +++ branches/ntvdm/subsystems/ntvdm/dos.c [iso-8859-1] Sat Nov 9 18:10:21 2013 @@ -1203,6 +1203,12 @@ /* Set the stack to the last word of the segment */ EmulatorSetStack(Segment, 0xFFFE);
+ /* + * Set the value on the stack to 0, so that a near return + * jumps to PSP:0000 which has the exit code. + */ + *((LPWORD)SEG_OFF_TO_PTR(Segment, 0xFFFE)) = 0; + /* Execute */ CurrentPsp = Segment; DiskTransferArea = MAKELONG(0x80, Segment);