HELLO.MAC;2=HELLO.OLD;1/AU/-BF \ -2,2 .IDENT /03.1N/ -24,24 ; VERSION: 03.1 -95 ; ; JGD10 THE MATCHALL LEVEL IDENTIFIER IS ADDED. ; IF A '#' IS IN COLUMN 1 OF THE HELP FILE, ALL KEYWORD PHRASES ; ARE RETURNED AS A MATCH. THIS FACILITATES USING THE LAST ; HELP RECORD IN A SPECIALIZED HELP FILE , AS AN INDEX TO ; REMIND THE USER AS TO WHAT KEYWORDS ARE AVAILABLE. ; ; NAPC REMOVE ALL HELLO SUPPORT IF NON-MULTI-USER SYSTEM ; ALLOW EMBEDDED CARRIAGE CONTROL (FROM RUNOFF) ; ; RA300 DO WAIT INSTEAD OF STOP BIT SINCE STOP MAY NOT BE THERE ; ; SA301 FIX GARBAGE PRINTING AND MAKE EXIT STATUS CONSISTENT ; ; SA206 IF TASK IS HELP, MAKE IT UNPRIVILEGED SO THAT SYSTEM ; FILES CANNOT BE DISPLAYED BY INDIRECT % -102,102,/;RA300/ .MCALL SPWN$,WTSE$ -115,,/;NAPC/ .IF DF M$$MUP .IFF .NLIST CND .IFT -122,122,/;RA300/ WTEDPB: WTSE$ EFN1 -140,140,/;NAPC/ .IFTF MS1: .ASCII % % .IFT .ASCII % RSX-11M BL% -149,,/;NAPC/ .IFTF -185,,/;NAPC/ .IFT -187,,/;NAPC/ .IFTF -188,,/;NAPC/ .IFT -191,,/;NAPC/ .IFTF -196,,/;NAPC/ .IFT -197,,/;NAPC/ .IFTF -208,,/;NAPC/ .IFT -214,,/;NAPC/ .IFTF -217,,/;NAPC/ .IFT -233,,/;NAPC/ .IFTF -240,,/;NAPC/ .IFT -248,,/;NAPC/ .IFTF -254,,/;NAPC/ .IFT -270,,/;NAPC/ .IFTF -271,,/;NAPC/ .IFT -284,,/;NAPC/ .IFTF -286,,/;NAPC/ .IFT -287,,/;NAPC/ .IFTF -288,,/;NAPC/ .IFT -292,,/;NAPC/ .IFTF -,,/;SA301/ .EVEN BLANK: .ASCII " " -296,,/;NAPC/ .IFT -302,,/;NAPC/ .IFTF -,,/;JGD10/ MATFLG: .WORD 0 ;INHIBIT MATCHALL IF SYN. SEARCH MTCHAL: .WORD 0 ;IF =1, MATCHES ALL KEYWORDS,ALL LEVELS ENDFLG: .WORD 0 ;IF =0 MAKE ONE VALIENT TRY TO FIND MTCHAL ;SEARCHING TO END OF FILE, =1, PRINT UNKNOWN ;QUALIFIER MESSAGE(NO MTCHAL AT END OF FILE) -314,,/;NAPC/ .IFT -320,,/;NAPC/ .IFTF -326,,/;NAPC/ .IFT -332,,/;NAPC/ .IFTF -336,336,/;NAPC/ RATBUF: .BLKB 14. .IFT .BLKB 21. -339,,/;NAPC/ .IFTF -389,,/;NAPC/ .IFT -398,,/;SA206/ .IFTF CALL $SWSTK,400$ ;SWITCH TO SYSTEM STATE MOV $TKTCB,R4 ;;GET TCB ADDRESS BIC #T3.PRV,T.ST3(R4) ;;SET TASK UNPRIVILEGED RETURN 400$: .IFT -425,,/;NAPC/ .IFF MOV #BUF+3,R4 ;POINT AT SPACE AFTER "HEL" CMPB #'P,(R4) ;SKIP "P" IF "HELP" WAS ENTERED BNE 4025$ INC R4 4025$: MOV #HLPDSP,R1 .IFTF -427,,/;NAPC/ .IFT -751,751,/;RA300/ DIR$ #WTEDPB ;WAIT UNTIL ASSIGN COMPLETES -878,,/;NAPC/ .IFTF -881,,/;NAPC/ .IFT -883,883,/;SA301/ MOV #EX$ERR,EXSTAT ;SET EXIT STATUS -890,,/;NAPC/ .IFTF -892,,/;NAPC/ .IFT -896,,/;NAPC/ .IFTF -908,,/;NAPC/ .IFT -917,,/;NAPC/ .IFTF -919,919,/;SA206/ EXIT2: CALL $SWSTK,400$ ;SWITCH TO SYSTEM STATE MOV $TKTCB,R4 ;;GET TCB ADDRESS BIS #T3.PRV,T.ST3(R4) ;;SET TASK PRIVILEGED IN CASE TASK RETURN ;REENTRANT RETURN FROM SYSTEM STATE 400$: MOV EXSTAT,R0 ;GET EXIT STATUS -933,,/;SA301/ DEC R1 ;POINT BEFORE THE 0 BNE WRIT2 ;BR IF NON BLANK MOV #BLANK,R0 ;OUTPUT BLANK LINE INC R1 ;INC LENGTH -939,,/;NAPC/ .IFT -1096,,/;NAPC/ .IFTF -1119,,/;NAPC/ .IFT -1454,,/;NAPC/ .IFTF -1626,,/;NAPC/ MOVB #40,ODPB+Q.IOPL+4 ;RESET CARR. CONT. -1633,,/;NAPC/ CMPB #33,(R4) ;ESC IS ALSO A TERMINATOR BEQ TEXT -1644,,/;JGD10/ CLR MATFLG ;ALLOW MATCHALL -1647,1647,/;JGD10/ BCC 45$ ;MAYBE, LET'S COMPARE STRINGS TST ENDFLG ;ONLY LOOK FOR MTCHAL ONE TIME BGT 90$ ;WE'VE BEEN THIS WAY BEFORE, TELL USER NO MATCH INC ENDFLG ;IF EQ 0 WE'LL TRY JUST ONCE TO FIND MTCHAL MOV #10.,DEPTH ;ABSOLUTELY NOT, SO CHECK IF MTCHAL AT END BR 40$ ;GO GET NEXT RECORD, SEE IF FIND MTCHAL 45$: ;REF LABEL -1661,,/;JGD10/ INC MATFLG ;INHIBIT MATCHALL -1667,1667,/;JGD10/ BCS 55$ ;NO, KEYWORD IS NOT AMBIGUOUS TST MTCHAL ;IS IT AMBIGUOUS BUT NOT MTCHAL? BEQ 100$ ;IF EQ 0, JUST AMBIGUOUS 55$: ;REF LABEL -1705,1705,/;NAPC/ -1706,,/;JGD10/ CLR MATFLG ;ALL MATCHALL -1720,1720,/;NAPC/ BCC 20$ ; IF EVERYTHING WENT OKAY, SEE IF -1758,,/;JGD10/ TST MTCHAL ;IS IT THE ULTIMATE MATCH? BGT 20$ ;IF GT 0, YES -1796,1796,/;JGD10/ COMPAR: ;REF LABEL TST MTCHAL ;IS IT THE ULTIMATE MATCH? BEQ 25$ ;IF EQ 0, NO, CONTINUE INC INDFLG ;ASSUME INDIRECT FILE BR 70$ ;AND EXIT 25$: MOV R4,-(SP) ;SAVE R4 -1828,1829,/;JGD10/ 70$: RETURN ; -1857,,/;NAPC/ CMPB #33,R2 ; ESC IS ALSO A TERMINATOR BEQ 10$ -1943,1943,/;JGD10/ ISREC: ;REF LABEL TST MATFLG ;DON'T ACCEPT MATCHALL IF SYN. SEARCH BNE 10$ CMPB (R0),#'# ;IS IT A MTCHAL BNE 10$ ;IF NE, NO INC MTCHAL ;SHOW A MATCH BR 20$ ;AND EXIT 10$: ;REF LABEL CMPB (R0),#'1 ;IS THE FIRST CHARACTER A DIGIT? -1971,1971,/;NAPC/ BNE 7$ ;YES JMP 90$ ;NO, RETURN WITH C=0 7$: -2033,,/;NAPC/ MOVB #40,ODPB+Q.IOPL+4 ;LF/CR CARR. CONT. BITB #FD.CR,F.RATT(R0) ;SHOULD WE USE IT? BNE 85$ ;IF NE, YES CLRB ODPB+Q.IOPL+4 ;NO, USE EMBEDDED CARR. CONT. 85$: CLR MTCHAL ;RESET MTCHAL -2059,2059,/;JGD10/ -2119,,/;NAPC/ .IFT -2257,,/;NAPC/ .ENDC /