.TITLE QTGER - QUOTE GET ERROR ; ; ; .QTGER - GET ERROR FROM EDF FOR QUOTE ; ;INPUTS: ; R1 ERROR NUMBER ; R2 BUFFER ADDRESS ; R3 DSD OF EDF ; ;OUTPUTS: ; ALL REGISTERS PRESERVED ; CARRY SET IFF NO ERROR DEFINED ; ; .MCALL ENTER,LEAVE,DIR$,OPEN$,CLOSE$ .MCALL FDBDF$,FDRC$A,FDBK$A,FDOP$A,NMBLK$ ; ; .QTGER::ENTER R0,R2,R4,R5 MOV R2,R4 ;SAVE BUFFER ADDRESS MOV #-1,R5 ;ASSUME FAILURE MOV QUTW+W.TSEF,ERRFDB+F.BKEF ; ; THE PRECEDING LINE AND THE INCLUSION OF THE ; QUTA+A.LULU IN THE FOLLOWING LINE WERE INCLUDED ; SO THAT THESE LUN AND EVF WOULD NOT HAVE ; TO BE GLOBALLY DECLARED. THAT CREATED A FEW ; LITTLE PROBLEMS. DATE: JUNE 7, 1977 ; BY WILLIAM KORENDYK ; OPEN$ #ERRFDB,,QUTA+A.LULU,R3 ;OPEN EDF BCS 2$ ;IF ERROR, JUST FAILURE RETURN CALL .SKERR ;AND TRY TO FIND ERROR BCS 2$ ;AGAIN, JUST FAILURE RETURN IF ERROR MOV #40,R5 ;OK, COPY ERROR INTO BUFFER 1$: MOV (R2)+,(R4)+ ;WORD BY WORD SOB R5,1$ ;.. 2$: CLOSE$ #ERRFDB ;CLOSE EDF DIR$ #QUTA ;REASSIGN TTY CLC ;ASSUME SUCCESS TST R5 ;CHECK IF WE DID BEQ 3$ ;YES (R5 WAS ZEROED BY SOB LOOP) SEC ;NO, FLAG ERROR 3$: LEAVE RETURN ; ; ERRFDB: FDBDF$ FDRC$A FD.RWM FDBK$A BUF,1000,,,STAT FDOP$A ,,NAMBLK,FO.RD ; STAT: .BLKW 2 BUF: .BLKW 400 NAMBLK: NMBLK$ IOERR,EDF,0,SY,0 ; ; .END