home *** CD-ROM | disk | FTP | other *** search
/ The C Users' Group Library 1994 August / wc-cdrom-cusersgrouplibrary-1994-08.iso / vol_300 / 334_01 / header.mac < prev    next >
Text File  |  1991-02-05  |  980b  |  62 lines

  1. if1
  2. LARGE    equ 1            ; define your memory model here
  3.  
  4. ifdef    SMALL
  5.     ; default, so do nothing
  6.     else
  7.  
  8. ifdef    MEDIUM
  9.     LARGE_CODE equ 1
  10.     else
  11.  
  12. ifdef    COMPACT
  13.     LARGE_DATA equ 1
  14.     else
  15.  
  16. ifdef    LARGE
  17.     LARGE_DATA equ 1
  18.     LARGE_CODE equ 1
  19.  
  20. else
  21.     %out No memory model defined--assuming SMALL
  22.  
  23. endif    ; LARGE
  24. endif    ; COMPACT
  25. endif    ; MEDIUM
  26. endif    ; SMALL
  27.  
  28.  
  29. beginproc macro procname
  30.  
  31. ifdef    LARGE_CODE
  32.     procname proc far
  33. else
  34.     procname proc near
  35. endif    ; LARGE_CODE
  36.  
  37.     endm    ; beginproc
  38.  
  39.  
  40. endif    ; if1
  41.  
  42.  
  43. _TEXT    SEGMENT    BYTE PUBLIC 'CODE'
  44. _TEXT    ENDS
  45. _DATA    SEGMENT WORD PUBLIC 'DATA'
  46. _DATA    ENDS
  47. CONST    SEGMENT WORD PUBLIC 'CONST'
  48. CONST    ENDS
  49. _BSS    SEGMENT WORD PUBLIC 'BSS'
  50. _BSS    ENDS
  51.  
  52. DGROUP    GROUP    CONST, _BSS, _DATA
  53.     assume cs:_text, ds:dgroup, ss:dgroup, es:dgroup
  54.  
  55. ; define X as the offset of first argument on stack frame
  56.  
  57. ifdef LARGE_CODE
  58.     X    equ 6            ; return offset and segment + old BP
  59. else
  60.     X    equ 4            ; return offset + old BP
  61. endif    ; LARGE_CODE
  62.