home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.wwiv.com
/
ftp.wwiv.com.zip
/
ftp.wwiv.com
/
pub
/
PPPBCKP
/
SRC
/
SRC15B40.ZIP
/
WATTSRC.ZIP
/
ELIB
/
MACROS.HSM
< prev
next >
Wrap
Text File
|
1992-02-24
|
2KB
|
152 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
PUSH SI
PUSH DI
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
POP DI
POP SI
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
_BSS SEGMENT WORD WARG1 PUBLIC 'BSS'
_BSS ENDS
DGROUP GROUP _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
endm
constend macro
endm