.TITLE QTERR - QUOTE ERROR PRINTER ; ; .QTERR - FIND AND PRINT ERROR MESSAGE ; ;INPUTS: ; R1 ERROR NUMBER ; R2 POINTER TO FILENAME OF ERROR FILE ; STORED AS FULLWORD LENGTH, FOLLOWED BY ASCII STRING ; ;OUTPUTS: ; R1 PRESERVED ; R2 PRESERVED ; CARRY SET IFF NO ERROR PRINTED ; ;NOTE: THE UIC AND DISK THAT THE FILES ARE STORED ON CAN BE ; MODIFIED BY MODIFYING THE DESCRIPTORS DKNAM AND UICNAM ; ; .MCALL ENTER,LEAVE ; ; .QTERR::ENTER R2,R3 MOV (R2)+,DSD+10 ;STORE LENGTH OF FILENAME MOV R2,DSD+12 ;AND ADDRESS MOV #ERRBUF,R2 ;GET ADDRESS OF BUFFER MOV #DSD,R3 ;AND DATA SET DESCRIPTOR CALL .QTGER ;ATTEMPT TO FIND ERROR MESSAGE BCS 1$ ;IF NOT THERE, JUST RETURN CALL .QTPER ;OTHERWISE, PRINT ERROR CLC ;INDICATE SUCCESS 1$: LEAVE RETURN ; ; ERRBUF: .BLKW 40 ;BUFFER FOR ERROR MESSAGE ; DSD: .WORD LDKNAM,DKNAM ;DISK DESCRIPTOR .WORD LUICNA,UICNAM ;DIRECTORY DESCRIPTOR .WORD 0,0 ;FILE DESCRIPTOR INSERTED HERE ; DKNAM: .ASCII /SY0:/ ;DISK EDF'S STORED ON LDKNAM=.-DKNAM ; UICNAM: .ASCII /[111,4]/ ;UIC EDF'S STORED UNDER LUICNA=.-UICNAM ; .EVEN ; .END