home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / magazine / pcmagazi / 1992 / 11 / labnotes / labnotes.inc < prev    next >
Text File  |  1992-02-24  |  2KB  |  60 lines

  1. ;LabNotes.Inc
  2. ;Include file for LabNotes.DLL routines
  3. ;Copyright (c) 1991 Jay Munro
  4. ;First published in PC Magazine June 16, 1992
  5. ;
  6.  
  7. ;----------------------------------------------------------------------------
  8. ; Prolog and Epilog macros for exported functions
  9. ;----------------------------------------------------------------------------
  10. WinProlog Macro
  11.   Push DS                       ;useless setup code
  12.   Pop  AX
  13.   Nop
  14.   Inc  BP                       ;adjust BP
  15.   Push BP                       ;save it
  16.   Mov  BP,SP                    ;set up stack frame
  17.   Push DS                       ;save incoming DS
  18.   Mov  DS,AX                    ;assign DS to DLL's DGroup
  19. EndM
  20.  
  21. WinEpilog Macro
  22.   Dec  BP                       ;adjust BP back from saved DS
  23.   Dec  BP
  24.   Mov  SP,BP                    ;reset SP
  25.   Pop  DS                       ;retrieve original DS
  26.   Pop  BP                       ;retrieve original BP
  27.   Dec  BP                       ;readjust BP
  28. EndM
  29.  
  30. ShortWinProlog Macro
  31.   Push DS                       ;useless setup code
  32.   Pop  AX
  33.   Nop
  34.   Inc  BP                       ;adjust BP
  35.   Push BP                       ;save it
  36.   Mov  BP,SP                    ;set up stack frame
  37. EndM
  38.  
  39. ShortWinEpilog Macro
  40.   Mov  SP,BP                    ;reset SP
  41.   Pop  BP                       ;retrieve original BP
  42.   Dec  BP                       ;readjust BP
  43. EndM
  44.  
  45. ;----------------------------------------------------------------------------
  46. ;Register saving macros
  47. ;----------------------------------------------------------------------------
  48.  
  49. SaveESDISI Macro
  50.   Push ES
  51.   Push DI
  52.   Push SI
  53. EndM
  54.  
  55. RestESDISI Macro
  56.    Pop  SI
  57.    Pop  DI
  58.    Pop  ES
  59. EndM
  60.