.TITLE KSRSRV - RESERVE LINES ON CHARACTER SCOPE .IDENT /27MAY7/ ;14:45:00, EM ; .ENTRY KSRSRV - SAME AS COMMENT ON TITLE ;+ ; K S R S R V ; ; PURPOSE: RESERVE LINES ON CHARACTER SCOPE ; ; INTERFACE: CALLING SEQUENCE: (FORTRAN-CALLABLE SUBROUTINE) ; CALL KSRSRV(LUN,LINES,ISTAT,TSKNAM) ; ; INPUT: LUN(INTEGER)=LOGICAL UNIT # ASSIGNED TO SCOPE ; LINES(INTEGER)=REQUIRED LINE COUNT ; TSKNAM=RAD50 NAME OF TASK TO BE CALLED ; IF AN END KEY OR LIGHT PEN STRIKE OCCURS ; IN THE RESERVED BLOCK OF LINES ; ; OUTPUT: ISTAT(INTEGER)=STATUS RETURNED BY DRIVER ; ; THIS SUBROUTINE USES EVENT FLAG 24. TO DETECT I/O ; COMPLETION. ; ; LANGUAGE: MACRO-11 ; ; RESTRICTIONS: THIS ROUTINE IS USABLE ONLY ON A SYSTEM WHICH ; SUPPORTS A KINETIC SYSTEMS COLOR CHARACTER SCOPE ; AND AN RSX HANDLER KS.... ;- ; REVISIONS: ; 10-SEP-76 WRITTEN ; 27-MAY-77 EM UPDATED TO CONFORM TO STANDARDS ; ;MACRO CALLS: .MCALL DIR$,WTSE$S,QIO$ ; KSRSRV:: MOV R0,-(SP) ;SAVE A WORK REGISTER MOV @2(R5),DPB+Q.IOLU ;TRANSFER LUN MOV @4(R5),DPB+Q.IOPL ;TRANSFER LINE COUNT MOV 10(R5),R0 ;GET ADDRESS OF TASK NAME MOV (R0)+,DPB+Q.IOPL+2 ;PUT TASKNAME IN DPB MOV @R0,DPB+Q.IOPL+4 DIR$ #DPB BCC 30$ ;BRANCH IF QIO SUCCESSFUL MOV $DSW,@6(R5) RETURN 30$: WTSE$S #EF24 MOV IOSTAT,@6(R5) ;RETURN STATUS MOV (SP)+,R0 RETURN ;DPB FOR RESERVING LINES DPB: QIO$ FTN7,,EF24,,IOSTAT,,<0,0,0,0,0,0> ;SYMBOL DEFINITIONS FTN7=3400 EF24=24. ; ;I/O STATUS RETURNED IOSTAT: 0,0 .END