home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / stub.asm < prev    next >
Assembly Source File  |  1994-10-26  |  2KB  |  97 lines

  1. ;/*=============================================*/
  2. ;/* STUB.ASM                     */
  3. ;/*=============================================*/
  4. ;/*                        */
  5. ;/*  Developed by Rich Peters,            */
  6. ;/*  1994 by Micro-Magic             */
  7. ;/*  asm stub for OS/2 device drivers written     */
  8. ;/*  in C /C++.  You might have to rename _DATA    */
  9. ;/*  to DATA for some compilers            */
  10. ;/*=============================================*/
  11.  
  12. _DATA           segment dword public 'DATA'
  13. _DATA           ends
  14.  
  15. CONST           segment dword public 'CONST'
  16. CONST           ends
  17.  
  18. _BSS            segment dword public 'BSS'
  19. _BSS            ends
  20.  
  21. Code            segment dword public 'CODE'
  22. Code            ends
  23.  
  24. _TEXT           segment dword public 'CODE'
  25. _TEXT           ends
  26.  
  27. S_TEXT           segment dword public 'CODE'
  28. S_TEXT           ends
  29.  
  30. DGROUP          group   CONST, _BSS, _DATA
  31. StaticGroup     group   Code, S_TEXT,_TEXT
  32.  
  33. _TEXT           segment dword public 'CODE'
  34. assume cs:_TEXT
  35. public Strat1, Interrupt0, Interrupt1, TimerHandler
  36. public SaveFlags, RestoreFlags, BreakPoint
  37.  
  38. extrn Strategy:near
  39. extrn Int0:near
  40. extrn Int1:near
  41. extrn TimerInt:near
  42.  
  43. Strat1 proc far
  44.     push    es
  45.     push    bx
  46.     call    Strategy
  47.     ret
  48. Strat1 endp
  49.  
  50. Interrupt0 proc far
  51.     call    Int0
  52.     clc
  53.     ret
  54. Interrupt0 endp
  55.  
  56. Interrupt1 proc far
  57.     call    Int1
  58.     clc
  59.     ret
  60. Interrupt1 endp
  61.  
  62. TimerHandler proc far
  63. .386
  64.     push    es
  65.     pushad
  66.     call    TimerInt
  67.     popad    
  68.     pop    es
  69.     sti
  70.     ret
  71. TimerHandler endp
  72.  
  73. SaveFlags    proc near
  74.     pushf    
  75.     pop    ax
  76.     cli
  77.     ret
  78. SaveFlags    endp
  79.  
  80. RestoreFlags    proc near
  81.     push    bp
  82.     mov    ax, [bp+4]
  83.     push    ax
  84.     popf
  85.     pop    bp
  86.     ret
  87. RestoreFlags    endp
  88.  
  89. BreakPoint proc near
  90.     int    3
  91.     ret
  92. BreakPoint endp
  93.  
  94.  
  95. _TEXT           ends
  96.         end
  97.