|
|
Greenleaf Comm Library
;
; MODEL88.EQU 5.20A June 8, 1995
;
; DESCRIPTION
;
; This is the header file used by assembly files to determine
; model dependent information. Previously, Greenleaf libraries
; used the file model.h, which had macros for _LCODE, _LDATA, etc.
; This new system allows the user to set the model on the command
; line by defining the GF_MODEL constant. It also prints out a
; helpful (I hope) error message if GF_MODEL is not defined.
;
; AUTHOR
; SM
; Copyright (C) 1991-94 Greenleaf Software Inc. All rights reserved.
;
; MODIFICATIONS
;
; December 12, 1992 : Released with CommLib 4.00A
;
;
; The check for ??version is checking to see if we are running under
; Turbo Assembler.
;
ifdef ??version
mesg_defined = 1
mesg macro txt
%out txt
endm
endif
ifdef ??Version
mesg_defined = 1
mesg macro txt
%out txt
endm
endif
ifndef mesg_defined
mesg macro txt
if1
%out txt
endif
endm
endif
% GF_MODEL&_MODEL = 1
ifdef FLAT_MODEL
mesg <Flat Memory Model>
_LCODE = 0
_LDATA = 0
_HUGE = 0
GOOD_MODEL = 0
.MODEL FLAT,C
endif
ifdef SMALL_MODEL
mesg <Small Memory Model>
_LCODE = 0
_LDATA = 0
_HUGE = 0
GOOD_MODEL = 0
.MODEL SMALL,C
endif
ifdef COMPACT_MODEL
mesg <Compact Memory Model>
_LCODE = 0
_LDATA = 1
_HUGE = 0
GOOD_MODEL = 0
.MODEL COMPACT,C
endif
ifdef MEDIUM_MODEL
mesg <Medium Memory Model>
_LCODE = 1
_LDATA = 0
_HUGE = 0
GOOD_MODEL = 0
.MODEL MEDIUM,C
endif
ifdef LARGE_MODEL
mesg <Large Memory Model>
_LCODE = 1
_LDATA = 1
_HUGE = 0
GOOD_MODEL = 0
.MODEL LARGE,C
endif
ifdef HUGE_MODEL
mesg <Huge Memory Model>
_LCODE = 1
_LDATA = 1
_HUGE = 1
GOOD_MODEL = 0
.MODEL HUGE,C
endif
ifdef OTHER_MODEL
mesg <Other Memory Model>
_LCODE = 1
_LDATA = 1
_HUGE = 0
GOOD_MODEL = 0
endif
ifndef _LCODE
mesg <In order to properly build the assembly files for this>
mesg <library, you need to define GF_MODEL so the files can be>
mesg <be built for the correct memory model. The best way to>
mesg <do this is to define it on the command line, like this:>
mesg < >
mesg < MASM /DGF_MODEL=SMALL /Ml FILE.ASM ; >
mesg < >
mesg <Acceptable choices for GF_MODEL are SMALL, COMPACT, MEDIUM,>
mesg <LARGE, and HUGE. Note that the Greenleaf Installation programs>
mesg <will do this automatically.>
mesg < >
_LCODE = 0
_LDATA = 0
_HUGE = 0
endif
ifndef GOOD_MODEL
.ERR
endif
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.