blob: e8c370e45b0564477c78672f2ffa3d0c92a84afc (
plain)
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
|
PAGE 55,132
.LIST
;
; Interrupt 2Eh Call
;
; From information originally published in
; PC magazine, April 28, 1987. Requires
; MASM 5.1 or later.
;
; Adapted by Bob Stout.
;
; NOTES: INT 2Eh passes a formatted command line
; directly to the resident portion of
; COMMAND.COM for execution. It functions
; similarly to the 'EXEC' function in DOS
; but is generally quicker. This is an
; undocumented DOS function and is subject
; to change in future releases of DOS. It
; also aborts any .BAT file which invokes
; a program which uses it. Use with care!
;
; Assemble with: MASM /Mx /z ...
; TASM /jMASM /mx /z ...
;
% .MODEL memodel,C ;Add model support via
;command line macros, e.g.
;MASM /Mx /Dmemodel=LARGE
.CODE
PUBLIC _Int_2E
_Int_2E PROC USES SI DI DS ES, command:PTR
Mov CS:SaveSP,SP
Mov CS:SaveSS,SS
IF @DataSize
Lds SI,command
ELSE
Mov SI,command
Endif
Int 2Eh
Mov AX,CS:SaveSS
Mov SS,AX
Mov SP,CS:SaveSP
Ret
SaveSS Dw ?
SaveSP Dw ?
_Int_2E ENDP
End
|