mirror of https://github.com/tongzx/nt5src
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
108 lines
3.2 KiB
108 lines
3.2 KiB
; 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 ;
|
|
;
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
|
|
|