.TITLE IOMSG -- I/O ERROR MESSAGES .IDENT /X01.00/ .ENABLE LC .LIST BEX .LIST MEB ; ; Author: Gilbert J. DeLeeuw ; Date: May 3, 1984 ; Name: Compress and Restore Utility ; Function: To generate appropriate I/O error message ; ; Parameters: ; ; R0 - Must contain pointer to FDB ; R2 - Returns length of message ; R3 - Returns address of message ; .MCALL FHDOF$ ; .MACRO MSG ERN,TXT .NCHR L, .BYTE L .BYTE ERN .ASCII !TXT! .ENDM ; ; Define offsets FHDOF$ ; ; Table size TSIZ=100. IE.TMM=271 ; ; I/O Messages MTBL: MSG IE.BAD, MSG IE.IFC, MSG IE.DNR, MSG IE.VER, MSG IE.ONP, MSG IE.SPC, MSG IE.DNA, MSG IE.DAA, ; MSG IE.DUN, MSG IE.EOF, MSG IE.EOV, MSG IE.WLK, MSG IE.DAO, MSG IE.SRE, MSG IE.ABO, MSG IE.PRI, ; MSG IE.RSU, MSG IE.OVR, MSG IE.BYT, MSG IE.BLK, MSG IE.MOD, MSG IE.CON, MSG IE.NOD, MSG IE.DFU, ; MSG IE.IFU, MSG IE.NSF, MSG IE.LCK, MSG IE.HFU, MSG IE.WAC, MSG IE.CKS, MSG IE.WAT, MSG IE.RER, ; MSG IE.WER, MSG IE.ALN, MSG IE.SNC, MSG IE.SQC, MSG IE.NLN, MSG IE.CLO, MSG IE.NBF, MSG IE.RBG, ; MSG IE.NBK, MSG IE.ILL, MSG IE.BTP, MSG IE.RAC, MSG IE.RAT, MSG IE.RCN, MSG IE.ICE, MSG IE.2DV, ; MSG IE.FEX, MSG IE.BDR, MSG IE.RNM, MSG IE.BDI, MSG IE.FOP, MSG IE.BNM, MSG IE.BDV, MSG IE.BBE, ; MSG IE.DUP, MSG IE.STK, MSG IE.FHE, MSG IE.NFI, MSG IE.ISQ, MSG IE.EOT, MSG IE.BVR, MSG IE.BHD, ; MSG IE.OFL, MSG IE.BCC, MSG IE.ONL, MSG IE.NNN, MSG IE.NFW, MSG IE.BLB, MSG IE.TMM, MSG IE.NDR, ; MSG IE.URJ, MSG IE.NRJ, MSG IE.EXP, MSG IE.BTF, MSG IE.NNC, MSG IE.NDA, MSG IE.NLK, MSG IE.NST, ; MSG IE.FLN, MSG IE.IES, MSG IE.PES, MSG IE.ALC, MSG IE.ULK, MSG IE.WCK, MSG IE.NTR, MSG IE.REJ, ; MSG IE.FLG, MSG IE.DSQ, MSG IE.IQU, MSG IE.RES, MSG IE.TML, MSG IE.NNT, MSG IE.TMO, MSG IE.CNR, ; MSG IE.UKN, MSG IE.SZE, MSG IE.MII, MSG IE.SPI, ; MSGU: MSG 0, .EVEN ; ; ; - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ; I/O Error Checking IOMSG:: MOVB F.ERR(R0),R1 ;COPY ERROR CODE ; ; Entry if status already in R1 IOMSG1:: CLR R2 ;INITIALIZE R2 MOV #MTBL,R3 ;GET ADDRESS OF TABLE ; ; Search for match 10$: ADD R2,R3 ;POINT TO NEXT MESSAGE MOVB (R3)+,R2 ;LENGTH OF STRING MOVB (R3)+,R4 ;ERROR NUMBER BEQ UNKN ;END OF TABLE REACHED CMP R4,R1 ;COMPARE CODES BNE 10$ ;IF CODES MATCH, WE ARE DONE RTS PC ;AND LOOP ; ; Undefined code message UNKN: MOV #MSGU+12.,R0 ;ADDRESS CLR R2 ;SUPPRESS LEADING ZERO'S CALL $CBDSG ;CONVERT CODE TO ASCII MOVB MSGU,R2 ;LENGTH MOV #MSGU+2,R3 ;ADDRESS RTS PC ; .END