.TITLE CSIMSG -- CHECK FOR CSI ERRORS .IDENT /X01.00/ .ENABLE LC .NLIST BEX ; ; Author: Gilbert J. DeLeeuw ; Date: May 3, 1984 ; Name: Compress and Restore Utility ; Function: To check for invalid commands ; ; Parameters: ; ; R0 - Must contain pointer to CSIBLK ; R2 - Returns length of message ; R3 - Returns address of message ; ; CARRY SET IF ERROR FOUND ; ; .MCALL CSI$,CSI$1,CSI$2,CSI$SW,CSI$SV,CSI$ND ; ; Define offsets CSI$ ; ; CSI Messages CSIM1: .ASCII !Wildcard File Names Not Allowed!<12> CSIM1L=.-CSIM1 CSIM2: .ASCII !More than one Input or Output File!<12> CSIM2L=.-CSIM2 CSIM3: .ASCII !No Input File Name!<12> CSIM3L=.-CSIM3 .EVEN ; ; CSI Error Checking CSIMSG:: BITB #CS.WLD,C.STAT(R0) ;WILDCARD SPECIFIED? BEQ CSIT2 ; CSIE1: MOV #CSIM1 ,R3 ;WILD CARD ERROR MOV #CSIM1L,R2 ;LENGTH BR ERR ;ERROR FOUND ; CSIT2: BITB #CS.MOR,C.STAT(R0) ;MORE THAN ONE FILE? BEQ CSIT3 ; CSIE2: MOV #CSIM2 ,R3 ;MULTIPLE FILE ERROR MOV #CSIM2L,R2 ;LENGTH BR ERR ;ERROR FOUND ; CSIT3: CMPB #CS.OUT,C.TYPR(R0) ;OUTPUT REQUESTED? BEQ DONE ;YES - WE ARE DONE BITB #CS.NMF,C.STAT(R0) ;FILE NAME PRESENT? BNE DONE CSIE3: MOV #CSIM3 ,R3 ;NO INPUT FILE NAME MOV #CSIM3L,R2 ;LENGTH ; ERR: SEC ;SET CARRY TO SHOW ERROR DONE: RTS PC ;BACK TO CALLER .END