home *** CD-ROM | disk | FTP | other *** search
/ Simtel MSDOS - Coast to Coast / simteldosarchivecoasttocoast2.iso / calculat / eval.zip / INT2E.ASM < prev    next >
Assembly Source File  |  1987-11-30  |  1KB  |  73 lines

  1.     TITLE     int2e
  2.  
  3. _TEXT   SEGMENT  BYTE PUBLIC 'CODE'
  4. _TEXT   ENDS
  5. _DATA   SEGMENT  WORD PUBLIC 'DATA'
  6. _DATA   ENDS
  7. CONST   SEGMENT  WORD PUBLIC 'CONST'
  8. CONST   ENDS
  9. _BSS    SEGMENT  WORD PUBLIC 'BSS'
  10. _BSS    ENDS
  11.  
  12. DGROUP  GROUP    CONST,   _BSS,   _DATA
  13.     ASSUME   CS:  _TEXT,  DS: DGROUP, SS: DGROUP, ES: DGROUP
  14.  
  15.  
  16.  
  17. _TEXT   SEGMENT
  18.  
  19. EXTRN _osp:WORD
  20. EXTRN _oss:WORD
  21.  
  22. ;
  23. ;
  24. ;
  25. ;
  26. ;
  27. ;
  28. ;
  29. ;
  30.  
  31.  
  32.     PUBLIC _int2e              ; int2e( stp )
  33. _int2e  PROC NEAR
  34.  
  35.     push    bp                 ; normal 'C' entry sequence
  36.     mov     bp,sp
  37.     sub     sp,4
  38.  
  39.     push    di
  40.     push    si
  41.  
  42.     push    ds                 ; in case int 2eH corrupts these
  43.     push    es
  44.     push    bp
  45.  
  46.     mov     _osp,sp            ; save SS:SP in memory
  47.     mov     ax,ss
  48.     mov     _oss,ax
  49.  
  50.     mov     si,[bp+4]
  51.     int     2EH
  52.  
  53.     mov     sp,_osp            ; restore SS:SP
  54.     mov     ax,_oss
  55.     mov     ss,ax
  56.  
  57.     pop     bp
  58.     pop     es
  59.     pop     ds
  60.  
  61.     pop     si                 ; normal 'C' exit sequence
  62.     pop     di
  63.  
  64.     mov     sp,bp
  65.     pop     bp
  66.     ret
  67.  
  68. _int2e  ENDP
  69.  
  70.  
  71. _TEXT    ENDS
  72. END
  73.