windows-nt/Source/XPSP1/NT/base/mvdm/dos/v86/inc/msgdcl.inc
2020-09-26 16:20:57 +08:00

108 lines
3.2 KiB
PHP
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

; This Macro was removed from sysmsg.inc. We had to remove this
; macro and put it into it's own include file in order to clear up
; some assembly errors. MS MASM will not allow a public declaration
; during the second pass of the assembler. IBM MASM will allow this.
;
;
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; $M_DECLARE Macro
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
$M_DECLARE macro numcls ;
$M_DCOUNT = 0 ;
REPT numcls ;
$M_DCOUNT = $M_DCOUNT + 1 ;
$M_DECLARE2 %$M_DCOUNT ;
ENDM ;
IF COMR
IFNDEF $M_RT2 ; If Resident table is not in this assembly,
EXTRN $M_RT2:BYTE ; Must be external
ELSE
PUBLIC $M_RT2
ENDIF ;
ELSE
IFNDEF $M_RT ; If Resident table is not in this assembly,
EXTRN $M_RT:BYTE ; Must be external
ELSE
PUBLIC $M_RT
ENDIF ;
ENDIF
$M_CHECK $M_GET_MSG_ADDRESS ; If this subroutine is not in this assembly,
$M_CHECK $M_MSGSERV_1 ; If this subroutine is not in this assembly,
$M_CHECK $M_MSGSERV_2 ; If this subroutine is not in this assembly,
ENDM ;
;
$M_DECLARE2 macro innum ;
IF NOT COMR ; IF Not resident COMMAND.COM
IF NOT COMT ; IF Not transient COMMAND.COM
IFNDEF $M_CLS_&innum ; IF class is not in this assembly,
IF FARmsg ;
EXTRN $M_CLS_&innum:FAR ; Must be external
ELSE ;
EXTRN $M_CLS_&innum:NEAR ; Must be external
ENDIF ;
ELSE ; ELSE
PUBLIC $M_CLS_&innum ; Label PUBLIC
ENDIF ;
ELSE ; ELSE
IFDIF <$M_CLS_&innum>,<$M_CLS_1> ; IF NOT $M_CLS_1 or
IFDIF <$M_CLS_&innum>,<$M_CLS_2> ; IF NOT $M_CLS_2 then
IFNDEF $M_CLS_&innum ; IF class is not in this assembly,
IF FARmsg ;
EXTRN $M_CLS_&innum:FAR ; Must be external
ELSE ;
EXTRN $M_CLS_&innum:NEAR ; Must be external
ENDIF ;
ELSE ; ELSE
PUBLIC $M_CLS_&innum ; Label PUBLIC
ENDIF ;
ENDIF ;
ENDIF ;
ENDIF ;
ELSE ; ELSE
IFDIF <$M_CLS_&innum>,<$M_CLS_1> ; IF NOT $M_CLS_1 or
IFDIF <$M_CLS_&innum>,<$M_CLS_2> ; IF NOT $M_CLS_2 then
IFNDEF $M_CLS_&innum ; IF class is not in this assembly,
IF FARmsg ;
EXTRN $M_CLS_&innum:FAR ; Must be external
ELSE ;
EXTRN $M_CLS_&innum:NEAR ; Must be external
ENDIF ;
ELSE ; ELSE
PUBLIC $M_CLS_&innum ; Label PUBLIC
ENDIF ;
ENDIF ;
ENDIF ;
ENDIF ;
ENDM ;
;
$M_CHECK macro parm ;
IFNDEF parm ; IF class is not in this assembly,
IF FARmsg ;
EXTRN parm:FAR ; Must be external
ELSE ;
EXTRN parm:NEAR ; Must be external
ENDIF ;
ELSE
IF COMR
ELSE
PUBLIC parm
ENDIF
ENDIF ;
ENDM ;
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;
IF1 ;
$M_DECLARE %$M_NUM_CLS ; Declare any class not in this assembly
ENDIF ;
;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;