home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The World of Computer Software
/
World_Of_Computer_Software-02-386-Vol-2of3.iso
/
b
/
bootp.zip
/
MACROS.HSM
< prev
next >
Wrap
Text File
|
1989-09-19
|
2KB
|
151 lines
IF FUNC_L
@AB EQU 6
@ab EQU 6
ELSE
@AB EQU 4
@ab EQU 4
ENDIF
if FUNC_L
%OUT <Far Functions>
else
%OUT <Near Functions>
endif
if PTR_L
%OUT <Far Pointers>
else
%OUT <Near Pointers>
endif
cextrn macro WARG1
if FUNC_L
EXTRN _&WARG1&:FAR
else
EXTRN _&WARG1&:NEAR
endif
endm
ccall macro WARG1
if FUNC_L
CALL FAR PTR _&WARG1&
else
CALL _&WARG1&
endif
endm
cpublic macro WARG1
public _&WARG1&
if FUNC_L
_&WARG1& PROC FAR
else
_&WARG1& PROC NEAR
endif
PUSH BP
MOV BP,SP
endm
cproc macro WARG1
public _&WARG1&
if FUNC_L
_&WARG1& PROC FAR
else
_&WARG1& PROC NEAR
endif
endm
cendp macro WARG1
_&WARG1& ENDP
endm
creturn macro WARG1
MOV SP,BP
POP BP
if FUNC_L
RET
else
RET
endif
_&WARG1& ENDP
endm
cstart macro WARG1,WARG2
if FUNC_L
&WARG1&_TEXT SEGMENT WARG2
else
_TEXT SEGMENT WARG2
endif
endm
cend macro WARG1
if FUNC_L
&WARG1&_TEXT ENDS
else
_TEXT ENDS
endif
endm
codedef macro WARG1,WARG2
if FUNC_L
&WARG1&_TEXT SEGMENT BYTE WARG2 PUBLIC 'CODE'
&WARG1&_TEXT ENDS
ASSUME CS: &WARG1&_TEXT
else
_TEXT SEGMENT BYTE WARG2 PUBLIC 'CODE'
_TEXT ENDS
ASSUME CS: _TEXT
endif
endm
datadef macro WARG1
_DATA SEGMENT WORD WARG1 PUBLIC 'DATA'
_DATA ENDS
CONST SEGMENT WORD WARG1 PUBLIC 'CONST'
CONST ENDS
_BSS SEGMENT WORD WARG1 PUBLIC 'BSS'
_BSS ENDS
DGROUP GROUP CONST, _BSS, _DATA
ASSUME DS: DGROUP, SS: DGROUP, ES: DGROUP
endm
bssstart macro WARG1
_BSS SEGMENT WARG1
endm
bssend macro
_BSS ENDS
endm
farbssstart macro
FAR_BSS SEGMENT
endm
farbssend macro
FAR_BSS ENDS
endm
fardatastart macro
FAR_DATA SEGMENT
endm
fardataend macro
FAR_DATA ENDS
endm
datastart macro WARG1
_DATA SEGMENT WARG1
endm
dataend macro
_DATA ENDS
endm
conststart macro WARG1
CONST SEGMENT WARG1
endm
constend macro
CONST ENDS
endm