HELLO.MAC/-BF=HELLO.MAC;2 -/.IDENT/,,/;RVT01/ .IDENT /1.2XF1/ -/RA300/+1 ; RVT01 1-JAN-81 ; ADD "?" FEATURE TO HELP TO PRINT ALL THE ; FILE KEYS AT THAT LEVEL ; THIS FILE CAN BE APPLIED AFTER THE KMS-FUSION ONE ; OR BY ITSELF. ; THIS ONE IS SELF-LOCATING, BUT KMS-FUSION'S IS NOT. ; ; AMBIGUOUS KEYWORDS GET A MESSAGE, BUT STILL GET PRINTED. .MCALL QIOW$S,QIOW$C -/SYNBUF:/ COLNUM: .WORD 1000 ; COL NUMBER FOR "?" HELP FEATURE MAXCOL=79. ; DO CR/LF IF IT WOULD GO PAST THIS COLUMN CRLFBF: .BYTE 15,12 TABBF: .BYTE 11,11,0,0 -/HELP ROUTINES/ -/; LESS./ ; ; IF THE USER KEYWORD IS A "?", ALL THE FILE KEYS AT THAT LEVEL WILL BE ; TYPED OUT. (NORMALLY QUALIFIED UP TO THAT POINT) ; FOR EXAMPLE: ; HELP ? --- PRINT ALL 1ST LEVEL KEYS ; HELP CCL ? -- PRINT ALL THE LEVEL 2 KEYS UNDER KEY#1 OF "CCL" ; -/HELPP:/ -/BEQ TEXT/,. BNE 21$ ; COPY HELP FILE TO TI: UNTIL A JMP TEXT 21$: -/ATE KEYWORD?/ BCS 51$ ; PRINT AMBIG MESSAGE, BUT KEEP GOING MOV R4,-(SP) MOV R1,R3 MOV #ER9,R0 ; PRINT MSG CALL WRIT MOV #BUF,R0 ; PRINT LINE UP TO SPOT MOV R3,R1 SUB R0,R1 CALL WRIT2 MOV (SP)+,R4 BR 60$ 51$: -/#ER11,/ CMP #1000,COLNUM BEQ 91$ MOV #TABBF+2,R0 ; A "?" IN USER KEYWORD MOV #1,R1 ; THAT IS ALL NEEDED, EXIT CALL HLPERR 91$: -/COMPAR:/ -/45$:/,. ; IF THE USER KEYWORD IS A "?", TYPE OUT ALL THE FILE KEYWORDS AT THAT LEVEL. 45$: CMPB #'?,(R4) BNE 46$ ; NOPE, DO AS NORMAL MOV #1,R4 BIT #10,COLNUM ; MAKE THE COLUMNS 16 POSITIONS WIDE BNE 4551$ INC R4 ADD #8.,COLNUM 4551$: ADD #8.,COLNUM ; WILL IT FIT ON THIS LINE ADD R1,COLNUM CMP COLNUM,#MAXCOL BLE 455$ ; BR IF YES MOV R1,COLNUM ; NO--START A NEW LINE QIOW$C IO.WVB,LUN1,EFN1,,,, ; CR/LF BR 456$ 455$: QIOW$S #IO.WVB,#LUN1,#EFN1,,,,<#TABBF,R4> ; TAB 456$: QIOW$S #IO.WVB,#LUN1,#EFN1,,,, ; THE FILE KEY BIC #7,COLNUM INC ENDFLG ; PREVENT MATCHALL BR 50$ 46$: CMPB (R0)+,(R4)+ /