home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 7 / 07.iso / c / c220 / 4.ddi / LIB / SRC / MODEL < prev    next >
Encoding:
Text File  |  1990-12-16  |  1.5 KB  |  61 lines

  1. ; Set the memory model here.
  2. ; 1. Chose Small_code or Large_code.
  3. ; 2. Choose Small_data or Large_data.
  4. ; 3. IF YOU CHOSE Large_data, choose DS_grouped or not.
  5.  
  6. ;Use next line if Small_code; use 2nd if Large.
  7. ;Large_code    equ    1    ; Many CSs.
  8. Small_code    equ    1    ; CS is fixed.
  9.  
  10. ; This defines the memory model:  small vs. large data.
  11. ; For large data, use the next line; for small, the second.
  12. ;Large_data    equ    1    ; ES & SS separate; DS may or may not vary.
  13. Small_data    equ    1    ; DS=SS=ES.
  14.  
  15. ifdef    Small_data
  16. DS_grouped    equ    1
  17. else
  18. ; Is DS grouped or does it vary?    Choose this only in Large_data model.
  19. ; You choose, in large data case, whether DS is grouped.
  20. ;DS_grouped    equ    1
  21. endif
  22.  
  23. ifdef Multiple_models    ; not now.
  24. ; Provide the appropriate external definition:
  25. ifdef    Small_code
  26.     ifdef    Small_data
  27.             extrn    SMALL?:near
  28.     else
  29.         ifdef    DS_grouped
  30.             extrn    COMPACT?:near
  31.         else
  32.             extrn    UNSUPPORTED_MODEL?:near
  33.         endif
  34.     endif
  35. else
  36.     ifdef    Small_data
  37.             extrn    MEDIUM?:near
  38.     else
  39.         ifdef    DS_grouped
  40.             extrn    BIG?:near
  41.         else
  42.             extrn    LARGE?:near
  43.         endif
  44.     endif
  45. endif
  46. endif
  47.  
  48. ; There are 6 possible libraries:
  49. ; 1 CS        1 DS    1 SS=ES=DS    ; Small
  50. ; Many CS    1 DS    1 SS=ES=DS      ; Medium
  51. ; 1 CS        1 DS    1 SS,Many ES    ; Compact
  52. ; Many CS    1 DS    1 SS,Many ES    ; Big
  53. ; 1 CS        Many DS    1 SS,Many ES    ; Semi-Giant; strange; support?
  54. ; Many CS    Many DS    1 SS,Many ES    ; Giant
  55. ; Not supported:
  56. ; 1 CS        1 DS    1 SS,1 ES    ; No one supports this.
  57. ; Many CS    1 DS    1 SS,1 ES    ; " "
  58.  
  59.     include    macros
  60.  
  61.