This is an old revision of the document!
Table of Contents
SVC_ERROREXIT
Terminate MVM with an error message. This call displays a message and then terminates the current MVM session.
Parameters
| Register | Description |
|---|---|
| Stack (top) | Far pointer (segment:offset) to an ASCIIZ message string. The message is displayed by the host system before termination. |
Return Value
This function does not return; it terminates the MVM.
Description
SVC_ERROREXIT provides a way to terminate the MVM (Multiple Virtual DOS Machine) with a user‑supplied error message. It is specific to the OS/2 MVDM environment and has no direct equivalent in DOS INT 21h (the closest is AH=4Ch, which terminates without a message).
Before invoking the call, the far pointer (segment and offset) of a null‑terminated ASCII string must be pushed onto the stack. The host system (OS/2) will display the message and then terminate the virtual machine.
The low‑level instruction sequence generated for this SVC is:
HLT DB 1 ; function code DB NOT 1 ; complement of function code (for validation)
Example
The following example shows how to terminate with an error message using assembly language:
push ds push offset msg hlt db 1 db not 1 msg db "Fatal error",0
In a high‑level language (e.g., C with inline assembly), you could use a helper macro:
#define SvcErrorExit(msg) \
__asm { \
push ds \
push offset msg \
hlt \
_emit 1 \
_emit ~1 \
}
Notes
* The message string must be in the ASCIIZ format (zero‑terminated). * After this call, the MVM is terminated and control returns to the host operating system. * Because the call never returns, no register values are preserved.
See Also
* SVC_EXIT – terminate without a message. * SVC_DUPHANDLE – duplicate handle. * INT 21h AH=4Ch – DOS terminate with return code.
| SVC API | |
|---|---|
| Supervisor calls | 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 |
| Structures | FCB XFCB FILETIME FILEDATE |




