|
|
1.1 root 1: ;
2: ; MODEL88.EQU 5.20A June 8, 1995
3: ;
4: ; DESCRIPTION
5: ;
6: ; This is the header file used by assembly files to determine
7: ; model dependent information. Previously, Greenleaf libraries
8: ; used the file model.h, which had macros for _LCODE, _LDATA, etc.
9: ; This new system allows the user to set the model on the command
10: ; line by defining the GF_MODEL constant. It also prints out a
11: ; helpful (I hope) error message if GF_MODEL is not defined.
12: ;
13: ; AUTHOR
14: ; SM
15: ; Copyright (C) 1991-94 Greenleaf Software Inc. All rights reserved.
16: ;
17: ; MODIFICATIONS
18: ;
19: ; December 12, 1992 : Released with CommLib 4.00A
20: ;
21:
22: ;
23: ; The check for ??version is checking to see if we are running under
24: ; Turbo Assembler.
25: ;
26: ifdef ??version
27: mesg_defined = 1
28: mesg macro txt
29: %out txt
30: endm
31: endif
32: ifdef ??Version
33: mesg_defined = 1
34: mesg macro txt
35: %out txt
36: endm
37: endif
38: ifndef mesg_defined
39: mesg macro txt
40: if1
41: %out txt
42: endif
43: endm
44: endif
45:
46: % GF_MODEL&_MODEL = 1
47:
48: ifdef FLAT_MODEL
49: mesg <Flat Memory Model>
50: _LCODE = 0
51: _LDATA = 0
52: _HUGE = 0
53: GOOD_MODEL = 0
54: .MODEL FLAT,C
55: endif
56:
57: ifdef SMALL_MODEL
58: mesg <Small Memory Model>
59: _LCODE = 0
60: _LDATA = 0
61: _HUGE = 0
62: GOOD_MODEL = 0
63: .MODEL SMALL,C
64: endif
65:
66: ifdef COMPACT_MODEL
67: mesg <Compact Memory Model>
68: _LCODE = 0
69: _LDATA = 1
70: _HUGE = 0
71: GOOD_MODEL = 0
72: .MODEL COMPACT,C
73: endif
74:
75: ifdef MEDIUM_MODEL
76: mesg <Medium Memory Model>
77: _LCODE = 1
78: _LDATA = 0
79: _HUGE = 0
80: GOOD_MODEL = 0
81: .MODEL MEDIUM,C
82: endif
83:
84: ifdef LARGE_MODEL
85: mesg <Large Memory Model>
86: _LCODE = 1
87: _LDATA = 1
88: _HUGE = 0
89: GOOD_MODEL = 0
90: .MODEL LARGE,C
91: endif
92:
93: ifdef HUGE_MODEL
94: mesg <Huge Memory Model>
95: _LCODE = 1
96: _LDATA = 1
97: _HUGE = 1
98: GOOD_MODEL = 0
99: .MODEL HUGE,C
100: endif
101:
102: ifdef OTHER_MODEL
103: mesg <Other Memory Model>
104: _LCODE = 1
105: _LDATA = 1
106: _HUGE = 0
107: GOOD_MODEL = 0
108: endif
109:
110: ifndef _LCODE
111: mesg <In order to properly build the assembly files for this>
112: mesg <library, you need to define GF_MODEL so the files can be>
113: mesg <be built for the correct memory model. The best way to>
114: mesg <do this is to define it on the command line, like this:>
115: mesg < >
116: mesg < MASM /DGF_MODEL=SMALL /Ml FILE.ASM ; >
117: mesg < >
118: mesg <Acceptable choices for GF_MODEL are SMALL, COMPACT, MEDIUM,>
119: mesg <LARGE, and HUGE. Note that the Greenleaf Installation programs>
120: mesg <will do this automatically.>
121: mesg < >
122: _LCODE = 0
123: _LDATA = 0
124: _HUGE = 0
125: endif
126:
127: ifndef GOOD_MODEL
128: .ERR
129: endif
130:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.