.TITLE ATTESQ .IDENT /250883/ ; Version: V3.0 ; File:[22,310]ATTESQ.MAC ; Last edit: 17-JUL-1989 09:57:45 ; Author: Jim Bostwick 25-Aug-83 ; History: Cloned from V2.0 ; ; 17-Jul-89. Philip Hannay. Changed QIO to use EFN 24, which is ; reserved for P3UTIL. ; .REM | PROCEDURE ATTESQ(LUN:Integer; VAR IOSB:Integer ; VAR IDS:Integer);External; { *USER* Pascal-2 procedure to attach LUN with the TF.ESQ subfunction which enables escape sequence recognition. LUN is first detached (ignoring possible 'was not attached' error), then (re-)attached with TF.ESQ. WARNING! Make sure that LUN is assigned to a TT: device!! Many terminal functions are potentially catastrophic if issued to a disk! This routine uses local efn 24 which is reserved for use by P3UTIL routines. } | ; Assemble with PASMAC.MAC as prefix file. ; .MCALL QIOW$S PROC ATTESQ PARAM LUN, INTEGER PARAM ISB, ADDRESS PARAM IDS, ADDRESS VAR STAT, 2*INTEGER ;LOCAL FULL IO STATUS BLOCK SAVE BEGIN MOV SP,R0 ;PRESERVE SP MOV SP,R1 ADD #STAT,R1 ;R1->IOSB QIOW$S #IO.DET,LUN(0),#24.,,R1 BCS 15$ ;DIRECTIVE ERROR-SKIP ATTACH CMPB STAT(0),#IS.SUC ;SUCCESS BEQ 1$ ;BR IF SO CMP STAT(0),#IE.DNA ;NOT ATTACHED ERROR IS OK BNE 14$ ;OTHER ERROR - QUIT 1$: QIOW$S #IO.ATT!TF.ESQ,LUN(0),#24.,,R1 14$: TSTB (R1) ;CHECK FOR ERRORS BPL 16$ ; NO ERROR - BRANCH MOVB #-1, 1(R1) ; SIGN-EXTEND THE ERROR 16$: MOV (R1),@ISB(0) ;RETURN IO STATUS BLOCK WORD 1 15$: MOV $DSW,@IDS(SP) ;RETURN DIRECTIVE STATUS ENDPR .END