; ; ;ROOT SECTION OF AN OVERLAYED TASK COMBINING ;REPORTING ON SEVERAL DIFFERENT SYSTEM ;OPERATING PARAMETERS ; ; ; ;F. BORGER ;DEPT OF MEDICAL PHYSICS ;MICHAEL REESE HOSP. ;JUL/17/75 ; ; RLB001 ; NO. DATE PROGRAMMER MODIFICATION RLB001 ; --- --------- ---------- ------------ RLB001 ; 001 21-FEB-77 R. BROWN TEST SCOPE BIT INSTEAD OF 'VC' RLB001 ; RLB001 ; .TITLE INFORM .GLOBL .ATLLH,.CKQLH,.PUDBA,.PUDEA .MCALL QIO$C,EXIT$C,WTSE$C,RQST$C,GLUN$C ; ; SCOPE=10000 ;DEFINE U.C2 BIT SETTING FOR SCOPE DEVICRLB001 DIRSTA=0 INF:: ;FIRST ATTACH TTY QIO$C IO.ATT,2,1,,IOST, WTSE$C 1 GLUN$C 2,LUNBUF ;GET INFO ON LUN #2 BIT #SCOPE,LUNBUF+6 ;IS THIS DEVICE A SCOPE? RLB001 BEQ NOFF ;NO - DON'T FORM FEED IT RLB001 QIO$C IO.WVB,2,1,,IOST,, ;IF YES ERASE SCOPE ;**-2 WTSE$C 1 ;WAIT FOR IT NOFF: MOV #MCRDPB,-(SP) ;GET MCR COMMAND LINE EMT 377 ;DO IT MOV #MCRBUF,R1 ;SET R1 TO START OF LINE MOV R1,R0 ;SET R0 ALSO ADD DIRSTA,R1 ;BUMP R1 TO LAST CHARACTER MOV DIRSTA,MCRSIZ ;SAVE SIZE OF MCR COMMAND LINE MOVB (R1),MCRTER ;SAVE LINE TERMINATOR MOV 4(R0),R0 ;GET 4TH,5TH CHAR OF LINE FOR CHECKS MOV #CHARCK,R2 ;R2 POINTER TO CHECK CHARACTERS MOV #SUBPTR,R3 ;R3 POINTER TO SUB POINTERS TEST: CMP (R2)+,R0 ;DO CHARACTERS MATCH ? BNE RETEST ;NO MATCH, TRY AGAIN JSR PC,@(R3) ;A MATCH, CALL SUBROUTINE BR SCRAM ;ON RETURN MAKE LIKE A TREE (LEAVE) RETEST: TST (R2) ;IS NEXT CHARACTER TEST WORD 0 (END) BEQ ERRINP ;LAST OF THE SUBS, AN INPUT ERROR TST (R3)+ ;ITS OK BUMP CALL POINTER BR TEST ;AND TRY FOR MATCH AGAIN ERRINP: QIO$C IO.WVB,2,1,,IOST,, ;TELL DUM-DUM HE'S GOT FLOPPY FINGERS WTSE$C 1 ;WAIT FOR END OF IO SCRAM: CMP #33,MCRTER ;WAS TERMINATOR AN ALT MODE ? BEQ NOMCR ;YES DON'T REQ ...MCR RQST$C ...MCR ;YES REQ MCR NOMCR: ;NOW DETACH OUTPUT QIO$C IO.DET,2,1,,IOST,, WTSE$C 1 ;WAIT FOR END EXIT$C ;AND MAKE LIKE A TREE (LEAVE) ; ; BADINP: .BYTE 12,15 ;CAR RET-LINE FEED .ASCII /BAD INPUT LINE--TRY AGAIN/ .EVEN ; ; ;FOLLOWING ARE THE TWO CHARACTER CHECK WORD TABLE (TERMINATED ;BY A 0 WORD) AND A CALL POINTER TABLE. NEW SUBS CAN EASILY BE ;INSERTED BY ADDING AN APPROPRIATE 2-CHARACTER CHECK WORD AND ;SUB NAME (NAMED XXX:: IN THE SUB) TO THE RESPECTIVE TABLES ; ; CHARCK: .ASCII /AT/ .ASCII /NO/ .ASCII /CK/ .ASCII /PU/ .ASCII /MA/ .ASCII /FR/ .WORD 0 SUBPTR: .WORD ATL .WORD NOD .WORD CKQ .WORD PUD .WORD MAP .WORD FRM IOST: .WORD 0,0 ;RETURN STATUS CONDITIONS MCRTER: .WORD 0 ;USED TO SAVE MCR TERMINATOR MCRSIZ:: .WORD 0 ;USED TO SAVE MCR BYTE COUNT MCRDPB: .BYTE 127.,41. ;DIRECTIVE CODE, SIZE OF DPB MCRBUF:: .BLKW 40. ;80 BYTE BUFFER LUNBUF: .BLKW 6 ;6 WORD BUFFER TO RECEIVE LUN INFO FFBUFF: .WORD 0 ;DUMMY BUFFER FOR SCOPE FF QIO .END INF