.TITLE LIST .SBTTL LIST DIRECTORY ;************************************************************************** ; ; LIST THE DIRECTORY OF A CIL ; ;************************************************************************** DIRECT::CMP #"TT,OUTDST+N.DVNM ;ARE WE THE TERMINAL? BEQ 1$ ;YES CMP #"LP,OUTDST+N.DVNM ;ARE WE THE LINEPRINTER? BNE 2$ ;NO, SO MUST BE FILE 1$: BIC #NB.NAM!NB.TYP!NB.DIR,OUTDST+N.STAT ;NO DEFAULTS IF TI OR LP 2$: OPEN$W #OUTLST,,,,,,LSTERR ;OPEN THE LISTING FILE OPEN$R #PRIINP,,,,,,PRIERR ;OPEN THE PRIMARY INPUT OPEN$R #SECINP,,,,,,PRIERR ;OPEN THE PRIMARY INPUT MOV #PRIINP,R0 ;FDB CALL READ ;READ THE 1ST BLOCK MOV #SECINP,R0 ;FDB CALL READ ;READ THE 1ST BLOCK MOV #PRIDST+N.DVNM,ARG ;DEVICE NAME MOV PRIDST+N.UNIT,ARG2 ;UNIT NUMBER MOV PRIDST+N.FNAM,ARG3 ;FILENAME MOV PRIDST+N.FNAM+2,ARG4 ; MOV PRIDST+N.FNAM+4,ARG5 ; MOV PRIDST+N.FTYP,ARG6 ;EXTENSION MOV #SECDST+N.DVNM,ARG7 ;DEVICE NAME MOV SECDST+N.UNIT,ARG8 ;UNIT NUMBER MOV SECDST+N.FNAM,ARG9 ;FILENAME MOV SECDST+N.FNAM+2,ARG10 ; MOV SECDST+N.FNAM+4,ARG11 ; MOV SECDST+N.FTYP,ARG11+2 ;EXTENSION GTIM$C ARG11+4 ;DATE AND TIME DSWERR MOV #DIR1,R1 ;MESSAGE FORMAT CALL OUTPUT ;PRINT IT ALL CMP #1,PRIBUF ;IS IT AN LCL OR CIL FORMAT? BEQ 3$ ;YES JMP UNDERR ;THERE IS NO FILE HEADER 3$: CMPB #3,PRIBUF+6 ;IS IT A CIL? BEQ .+6 ;YES JMP UNDERR ;ABORT OTHERWISE CMP #1,SECBUF ;IS IT AN LCL OR CIL FORMAT? BEQ 4$ ;YES JMP UNDERR ;THERE IS NO FILE HEADER 4$: CMPB #3,SECBUF+6 ;IS IT A CIL? BEQ .+6 ;YES JMP UNDERR ;ABORT OTHERWISE .PAGE MOV #PRIBUF,R4 ;PTR TO FIRST MOV #SECBUF,R3 ;PTR TO SECOND MOV 16(R4),ARG ;LOGICAL BLOCK SIZE MOV 16(R3),ARG2 ; ASR ARG ;IN WORDS ASR ARG2 ; MOV #DIR2,R1 ;MESSAGE FORMAT CALL OUTPUT ;PRINT IT MOV 26(R4),ARG ;BLOCKS USED MOV 26(R3),ARG2 ; MOV #DIR3A,R1 ;MESSAGE FORMAT CALL OUTPUT ;PRINT IT MOV 24(R4),ARG ;BLOCKS RESERVED MOV 24(R3),ARG2 ; MOV #DIR3B,R1 ;MESSAGE FORMAT CALL OUTPUT ;PRINT IT MOV 20(R4),ARG ;NUMBER OF CORE IMAGES MOV 20(R3),ARG2 ; MOV #DIR4,R1 ;MESSAGE FORMAT CALL OUTPUT ;PRINT IT MOV #DIR6,R1 ;MESSAGE FORMAT CALL OUTPUT ;PRINT IT MOV #DIR7,R1 ;MESSAGE FORMAT CALL OUTPUT ;PRINT IT RETURN ;RETURN FOR COMPARE .PAGE ;************************************************************************* ; ; MESSAGE DEFINITIONS ; ;************************************************************************* DIR1: .ASCIZ /%N%NCOMPARISON LISTING OF <%2A%M:%3R.%R> <%2A%M:%3R.%R> %Y %3Z/ DIR2: .ASCIZ /%N%NLOGICAL BLOCK SIZE IN WORDS = <%M.> AND <%M.>/ DIR3A: .ASCIZ /%NNUMBER OF BLOCKS USED = <%M.> AND <%M.>/ DIR3B: .ASCIZ /%NNUMBER OF BLOCKS RESERVED = <%M.> AND <%M.>/ DIR4: .ASCIZ /%NNUMBER OF CORE IMAGES = <%M.> AND <%M.>/ DIR6: .ASCIZ /%N%N%NPROGRAMS WITHIN CIL :-/ DIR7: .ASCII /%N.TITLE .IDENT DATE & TIME INSERTED SIZE LOAD / .ASCIZ /ADDR START/ .EVEN .END