.MCALL .MODULE .MODULE PIPPRE,VERSION=07,COMMENT=,IDENT=NO,TITLE=NO ; Copyright (c) 1998 by Mentec, Inc., Nashua, NH. ; All rights reserved ; ; This software is furnished under a license for use only on a ; single computer system and may be copied only with the ; inclusion of the above copyright notice. This software, or ; any other copies thereof, may not be provided or otherwise ; made available to any other person except for use on such ; system and to one who agrees to these license terms. Title ; to and ownership of the software shall at all times remain ; in Mentec, Inc. ; ; The information in this document is subject to change without ; notice and should not be construed as a commitment by Digital ; Equipment Corporation, or Mentec, Inc. ; ; Digital and Mentec assume no responsibility for the use or ; reliability of its software on equipment which is not supplied ; by Digital or Mentec, and listed in the Software Product ; Description. .IIF NDF LIST$, .NLIST ;+ ; MACROS ; All globally used macros are defined here. Local macros are defined ; where used. ;- .MCALL .CLOSE, .CSISPC,.DATE, .DSTATU,.ENTER, .FETCH .MCALL .GTIM, .GTLIN, .GVAL, .HERR, .LOCK, .LOOKUP .MCALL .PRINT, .PURGE, .READW, .RCTRLO,.RELEAS,.SCCA .MCALL .SERR, .SETTOP,.SPFUN, .TTYIN, .UNLOCK,.WRITW .MCALL .SAVES, .REOPEN,.TRPSET,.WAIT, .PVAL, .CSTAT .MCALL .EXIT, .RENAME,.DELETE,.FPROT,.SFDAT .MCALL .ASSUME,.BR,SOB .MACRO .BSECT NAME ..BS.. = 1 .ENDM .BSECT .MACRO .DSECT NAME ..DS.. = 0 .ENDM .DSECT .MACRO .ERR AREA,CODE,LEVEL,RETURN,FILE,TABLE,PREFIX,LEVBYT,RETRY,ASCII .IF NB AREA .IF DIF ,AREA MOV AREA,R0 .ENDC .ENDC .IF NB CODE MOVB CODE,@R0 .ENDC .RET.. = 0 ...... = 0 .IF NB RETURN .IRPC ..RET., .IF EQ ...... .IIF IDN ..RET., .RET.. = 200 ...... = 1 .ENDC .ENDM .ENDC .ASC.. = 0 .IIF NB .ASC.. = 40 ...... = 0 .IRPC ..LEV., .IF EQ ...... MOVB #''..LEV.!.RET..!.ASC..,1(R0) ...... = 1 .ENDC .ENDM .IIF NB MOV PREFIX,2(R0) .IIF NB MOV LEVBYT,4(R0) .IIF NB MOV TABLE,6(R0) .IF NB MOV FILE,10(R0) .IIF NB .ERROR ; F I L E and A S C I I can not both be specified; .IFF .IF NB MOV ASCII,10(R0) .IFF CLR 10(R0) .ENDC .ENDC .IIF NB MOV RETRY,12(R0) JSR PC,$ERROR .ENDM .ERR .MACRO .GTCOR SIZE MOV #FREMLH,R0 .IF NB SIZE MOV SIZE,R1 .ENDC CALL $RQCB .ENDM .GTCOR .MACRO BS NAME .IF NB NAME NAME == ..BS.. .ENDC ..BS.. = ..BS.. * 2 .ENDM BS .MACRO CM1... AREA,CHAN ...CM5 .IF IDN ,<#0> CLRB @R0 .IFF .IF NB MOVB CHAN,@R0 .ENDC .ENDC .ENDM CM1... .MACRO DS NAME,TYPE,SIZE .IF NB NAME NAME == ..DS.. .ENDC .IF NB TYPE .IF IDN TYPE, .IF B SIZE ..DS.. = ..DS.. + 1 .IFF ..DS.. = ..DS.. + SIZE .ENDC .IFF .IF B SIZE ..DS.. = ..DS.. + 2 .IFF ..DS.. = ..DS.. + .ENDC .ENDC .IFF .IF B SIZE ..DS.. = ..DS.. + 2 .IFF ..DS.. = ..DS.. + .ENDC .ENDC .ENDM DS .MACRO .BSECT NAME=...ABS,HILO=LOW,GLOBAL=YES PSECT , .IF NDF NAME NAME: .ENDC ;NDF NAME .. = . .IF IDN , . = . + NAME - . + 400 .IFF ;IDN , . = . + NAME - . + 1 .ENDC ;IDN , GLBL.. = 0 .IIF IDN ,, GLBL.. = 1 .MACRO BS NAME1,GLOBAL PSECT NAME .IF NB NAME1: .BLKB . .IF B .IIF NE GLBL.., .GLOBL NAME1 .IFF ;B .GLOBL NAME1 .ENDC ;B .IFF ;NB .BLKB . .ENDC ;NB .ENDM BS .ENDM .BSECT .MACRO .DSECT NAME=...ABS,N=0,GLOBAL=YES PSECT , .IF NDF NAME NAME: .ENDC ;NDF NAME .IF DIF , . = . + NAME - . + N .ENDC ;DIF , ..GLBL = 0 .IIF IDN ,, ..GLBL = 1 .MACRO DS NAME1,UNIT,SIZE=1,GLOBAL PSECT NAME .IF NB .IF B NAME1: .BLKW SIZE .IFF ;B NAME1: .BLKB SIZE .ENDC ;B .IF B .IIF NE ..GLBL, .GLOBL NAME1 .IFF ;B .GLOBL NAME1 .ENDC ;B .IFF ;NB .IF B .BLKW SIZE .IFF ;B .BLKB SIZE .ENDC ;B .ENDC ;NB .ENDM DS .ENDM .DSECT .MACRO UNORG .ENDM UNORG .MACRO ORIGIN SECT,LIST .MACRO UNORG .LIST BEX PSECT SECT, .ENDM UNORG PSECT , .NLIST BEX .ENDM ORIGIN .MACRO PSECT SECT,LIST .LIST BEX .IF IDN SECT,<*> UNORG .NLIST BEX .MEXIT .IFF .IF NB .PSECT SECT,LIST .IFF .PSECT SECT .ENDC .ENDC .NLIST BEX .ENDM PSECT .MACRO SAVE02 JSR R2,$SAVVR ;Save R0-R2 .ENDM SAVE02 .MACRO SAVE05 JSR PC,$SAVAL ;Save R0-R5 .ENDM SAVE05 .MACRO SAVE35 JSR R5,$SAVRG ;Save R3-R5 .ENDM SAVE35 .MACRO WAIT PROMPT,DEV .IF NB PROMPT MOV PROMPT,WAITPR .ENDC .IF NB DEV MOV DEV,R0 .ENDC CALL WAITCK .ENDM .IIF NDF LIST$, .LIST