.NLIST .ENABL LC ;+ ; ; Free software BY ; Project Software & Development, Inc. ; ; This software is furnished for free and may be used and copied as ; desired. This software or any other copies thereof may be provided or ; otherwise made available to any other person. No title to and ; ownership of the software is hereby transferred or allowed. ; ; The information in this software is subject to change without notice ; and should not be construed as a commitment by PROJECT SOFTWARE ; AND DEVELOPMENT, INC. ; ; PROJECT SOFTWARE assumes no responsibility for the use or reliability ; of this software on any equipment whatsoever. ; ; Project Software & Development, Inc. ; 14 Story St. ; Cambridge, Ma. 02138 ; 617-661-1444 ; ; ; Title: DIRPRE.MAC ; Author: Robin Miller ; Date: February 19, 1985 ; ; Description: ; ; Prefix file for the DIR program. ; ; Modification History: ; ;- ; Local Equates: NULL = 0 ; ASCII for null. BELL = 7 ; ASCII for bell. HT = 9. ; ASCII for horizontal tab. LF = 10. ; ASCII for line feed. FF = 12. ; ASCII for form feed. CR = 13. ; ASCII for carriage return. ESC = 27. ; ASCII for escape. SPACE = 32. ; ASCII for space. COMMA = 44. ; ASCII for comma. CH.AND = 1 ; Set in F.CHR for ANSI magtape. ; ; File size: ddnn: [ggg,mmm] fffffffff .typ ;vvvvv ; 5 + 9 + 9 + 4 + 6 + 1 = 34 ; FILSIZ = 34. ; Maximum size for file names. TMPSIZ = FILSIZ ; Size of the temporary buffer. BLKSIZ = 512. ; Size of block buffer (1 sector). CMDSIZ = 132. ; Size of command line buffer. DATSIZ = 32. ; Size of the date/time buffer. ERRSIZ = <80.+FILSIZ> ; Size of the error message buffer. FMTSIZ = 768. ; Size of the format buffers. RECSIZ = 512. ; Size of the input record buffer. ; Local equates for the input files. INLUN = 1 ; Input file logical unit number. INEFN = 1 ; Input file event flag number. IN2LUN = 2 ; Input file logical unit number. IN2EFN = 2 ; Input file event flag number. ; Local equates for the output file. OUTLUN = 3 ; Output file logical unit number. OUTEFN = 3 ; Output file event flag number. ; Local equates for the terminal. TILUN = 4 ; Terminal input logical unit number. TIEFN = 4 ; Terminal input event flag number. TOLUN = 5 ; Terminal output logical unit number. TOEFN = 5 ; Terminal output event flag number. ; Local equates for the help file. HLPLUN = 6 ; Help file logical unit number. HLPEFN = 6 ; Help file event flag number. ; Event flag for spawning help command. SPNEFN = 10 ; Spawn event flag number. ; Time units for mark time. TICKS = 1 ; SECNDS = 2 ; MINUTE = 3 ; HOURS = 4 ; ; Macro to generate error message. .MACRO ERRMSG LABEL,MSG .NCHR $$$, .PSECT $ERMSG,RO,D,REL,CON LABEL: .ASCIZ \MSG\ .EVEN .PSECT MOV #LABEL,R1 MOV #$$$,R2 CALL OUTMSG .ENDM ; ; MVS - Macro to move an ASCII string to output buffer in R0. ; ; Inputs: ; STRING The ASCII string to copy. ; FMAX The maximum field width. ; .MACRO MVS STRING,FMAX .NCHR $$$, .PSECT $STRS,RO,D,REL,CON $$$STR=. .ASCIZ "STRING" .PSECT .IF NB FMAX CLR FLDSIZ MOV #FMAX,FLDMAX .ENDC ; FMAX MOV #$$$STR,R1 CALL MOVE .ENDM MVS ; ; MVST - Macro to move an ASCII string preceeded by a tab. ; ; Inputs: ; STRING The ASCII string to copy. ; FMAX The maximum field width. ; .MACRO MVST STRING,FMAX .NCHR $$$, .PSECT $STRS,RO,D,REL,CON $$$STR=. .ASCIZ "STRING" .PSECT .IF NB FMAX CLR FLDSIZ MOV #FMAX,FLDMAX .ENDC ; FMAX MOV #$$$STR,R1 CALL MOVE .ENDM MVST ; ; Macro to call NEWLIN routine to append . ; .MACRO CRLF CALL NEWLIN .ENDM CRLF ; ; Macro to clear the current field size. ; .MACRO CLF CLR FLDSIZ ; Reset the field size. .ENDM ; ; Macro to call the PADFLD routine. ; .MACRO PAD CALL PADFLD ; Pad the field with spaces. .ENDM .LIST