.MCALL .MODULE .MODULE DIRPRE,VERSION=05,COMMENT=,TITLE=NO,IDENT=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. ; DIR (Directory Program) ; ;C.G. 15-Nov-76 ;C.G. 01-Nov-77 ;M.G. 13-AUG-79 ; ; V05 (005) 27-JUN-89 Definition of .CSTAT for use in DIRT11 ; MBG .NLIST .ENABL LC .LIST .NLIST .DSABL CRF .MCALL .READW, .SETTO, .ENTER .MCALL .LOOKU, .DATE, .WRITW .MCALL .PRINT, .GTIM, .PURGE .MCALL .CLOSE, .WAIT, .CSISP .MCALL .SPFUN, .DSTAT, .RELEA .MCALL .FETCH, .RCTRL, .GVAL .MCALL .EXIT, .SERR, .HERR .MCALL .QSET, .CSTAT ;+ ; ; This macro generates calls to the formatting routine. The arguments ; are: ; BUFFER - a pointer to an output buffer. If not specified, ; R0 is assumed to point the output buffer. ; PICTUR - an ASCII string enclosed in '<>', containing the ; format string and/or formatting directives. See ; comments in file RESRC1.MAC. ; ARGUMENTS- values contained in '<>' to satisfy any formatting ; directives. SP addressing is not valid. ; ;- .MACRO FORMAT BUFFER,PICTUR,ARGUMENTS,LAB1 .IF NB PSECT $$$FMT ...FMT = . .ASCIZ \PICTUR\ PSECT * .ENDC MOV R0,-(SP) ...ARG = 0 ..ARGC = 0 .IRP ARG, ..ARGC = ..ARGC +1 .ENDM ..LOOP = ..ARGC .REPT ..ARGC ..LOP1 = ..LOOP .IRP ARG, ..LOP1 = ..LOP1 -1 .IF EQ ..LOP1 MOV ARG,-(SP) ...ARG = ...ARG +1 .ENDC .ENDM ..LOOP = ..LOOP -1 .ENDR .IF NB MOV #...FMT,-(SP) .IFF .IF NB LAB1 MOV LAB1,-(SP) .IFF .ERROR ;No FORMAT string specified .ENDC .ENDC ...ARG = ...ARG +1 MOV #<...ARG*2>,-(SP) .IF NB BUFFER MOV BUFFER,R0 .IFF MOV R2,R0 .ENDC .GLOBL $FORMAT JSR PC,$FORMAT MOV R0,R2 MOV (SP)+,R0 .ENDM FORMAT .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 GBLDAT ARGS .DSABL CRF .GLOBL ARGS .ENABL CRF .ENDM GBLDAT .MACRO PRTIT BUFF,LEN,END .IIF NB , MOV BUFF,R1 .IIF NB , MOV LEN,R2 .IIF NB , MOV END,R2 .IIF B , SUB R1,R2 .GLOBL WRITIT JSR PC,WRITIT .ENDM .MACRO TITLE NAME,SUBTTL,VERSION,EDIT .TITLE NAME'.0'EDIT .NLIST .LIST ME .LIST .SBTTL NAME'SUBTTL .IDENT \X'VERSION'.'EDIT\ .NLIST .NLIST ME .LIST .ENDM TITLE .MACRO XTERNL ARGS .DSABL CRF .GLOBL ARGS .ENABL CRF .ENDM XTERNL .MACRO $ERROR NAME,LEVEL,RETURN,FILE,ASCII .GLOBL ERROR, NAME'... .IF NB MOV FILE,R3 .IFF CLR R3 .ENDC .IF NB MOV ASCII,R2 .IFF CLR R2 .ENDC JSR R5,ERROR .BYTE 'NAME'... ...X.. = 0 ...... = 0 .IRPC ..X..., .IF EQ ...... .IIF IDN ..X..., ...X.. = 200 ...... = 1 .ENDC .ENDM ...... = 0 .IRPC ..X..., .IF EQ ...... .BYTE ...X..+ERR$$'..X... ...... = 1 .ENDC .ENDM .ENDM $ERROR .MACRO .SAVRG .DSABL CRF .GLOBL $SAVRG .ENABL CRF JSR R5,$SAVRG .ENDM .SAVRG .ENABL CRF .LIST