.TITLE PLTAST .ENABL LC ; ; CALL PLTATA -- This subroutine attaches the plotting terminal ; with an AST service routine. It's purpose is to trap ; unsolicited input. A CNTRL/C will terminate the program execution. ; ; CALL PLTDET -- This subroutine removes the attachment of the ; plotting terminal. ; .PSECT PLTAST .MCALL QIOW$S, ASTX$S ; PLTATA::TST ILUN ;VALID PLOTTING DEVICE? BEQ DONE ;BRANCH IF NOT QIOW$S #IO.ATA,ILUN,#1,,,,<#PLTAST> ;ATTACH WITH AST DONE: RTS PC ;RETURN ; PLTDET::TST ILUN ;VALID PLOTTING DEVICE? BEQ NOPE ;BRANCH IF NOT QIOW$S #IO.DET,ILUN,#1 ;REMOVE ATTACHMENT NOPE: RTS PC ;RETURN ; PLTAST: CMP #3,(SP)+ ;^CNTRL/C? BNE CONT ;BRANCH IF NOT MOV #RESET,-(SP) JSR PC,STOP$ CONT: QIOW$S #IO.WLB,ILUN,#1,,,,<#STRING,NCHRS> ASTX$S ;RETURN FROM AST RESET: .ASCIZ <33>/!9/<33>/;/ .EVEN STRING: .ASCII /DAVE IS A FINK./ .EVEN NCHRS: .WORD NCHRS-STRING