.TITLE SPYIUI - UNSOLICITED INPUT AST SETUP AND SERVICE ; ; SPY VS02.0 OCTOBER 23, 1979 FOR IAS VERSION 3.0 ; ; AERONAUTICAL RESEARCH ASSOCIATES OF PRINCETON (A.R.A.P.) ; BOX 2229, PRINCETON, NJ 08540 (609) 452-2950 ; ; AUTHOR: J.D. LEONARD ; ; .MCALL QIOW$,DIR$,SETF$S,ASTX$S,CMKT$S ; ATTDPB: QIOW$ IO.ATA,1,1,,,,<,UIAST> INPDPB: QIOW$ IO.RLB!TF.TMO!TF.RNE,1,1,,IOSB,,<,80.,0> ; SPYIUI:: DIR$ #ATTDPB BR RETURN ; ; CHECK IF INPUT - RETURN TO USER BUFFER AND INDICATE AS SUCH ; ; CALL SPYRUI (IUIFLG, INBUF, NCH) ; WHERE - IUIFLG=0 IF NO INPUT, 1 IF THERE IS ; -1 IF ^Z TYPED ; INBUF IS INPUT BUFFER ; NCH IS NUMBER OF CHARACTERS READ ; SPYRUI:: CLR @2(R5) ; INIT READ FLAG TST INFLG ; INPUT SEEN ? BEQ RETURN ; NO CLR INFLG ; RESET IT CMKT$S ; CANCEL OUTSTANDING MARKTIMES MOV 4(R5),INPDPB+Q.IOPL DIR$ #INPDPB CMPB IOSB,#IE.EOF ; ^Z, THEN EXIT BEQ RETRN0 CMPB IOSB,#IS.TMO ; TIME OUT? READ NOT COMPLETE BEQ RETURN INC @2(R5) ; FLAG READ SUCESS MOV IOSB+2,@6(R5) ; NUMBER OF CHARACTERS READ BR RETURN RETRN0: DEC @2(R5) ; EOF ^Z ; RETURN: RETURN ; ; ; UNSOLICITED AST PROCESSING ; ; UIAST: INC INFLG SETF$S #2 ASTX$S ; IOSB: .BLKW 2 .PSECT SPYCUI RW,D,OVR,GBL INFLG: .WORD 0 ; .END