File: int2e.asm

package info (click to toggle)
c-cpp-reference 2.0.2-6
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k, lenny
  • size: 8,012 kB
  • ctags: 4,612
  • sloc: ansic: 26,960; sh: 11,014; perl: 1,854; cpp: 1,324; asm: 1,239; python: 258; makefile: 115; java: 77; awk: 34; csh: 9
file content (55 lines) | stat: -rwxr-xr-x 1,519 bytes parent folder | download | duplicates (5)
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