.TITLE SCPTST - SUBSTITUTION COMMANDS PARSER TEST .IDENT /MB.02/ ; ; MODULE TO TEST SCP MODULE FUNCTION WITHOUT LINKING TO ...CA. TASK ; ; THIS MODULE, LINKED WITH SCP AND CATAB MODULES, PROVIDES SYSTEM ; MANAGER WITH A TOOL FOR NEW SUBSTITUTED COMMANDS DEBUGING. ; SCPTST WAITS FOR "COMMAND" INPUT FROM TERMINAL, ECHOES IT, CALLS ; SCP TO PARSE IT IF POSSIBLE, AND PRINTS RESULT. ; SCP MAY BE ASSEMBLED WITH CONDITIONAL DEBUG=1 TO PROVIDE TRACING ; OF PARAMETER PARSING AND INDIVIDUEL SUBSTITUTION STEPS. ; .MCALL QIOW$,SPWN$,WTSE$S,DIR$ MCR:: .BLKW 40. WRT: QIOW$ IO.WLB,1,,,,, REA: QIOW$ IO.RLB,1,,,ESB,, SPW: SPWN$ MCR...,,,,,2,,ESB,MCR,70. ESB: .BLKW 8. ; TEST: DIR$ #REA MOV ESB+2,R0 MOV R0,WRT+Q.IOPL+2 ADD #MCR,R0 CMPB #'%,-1(R0) BNE 100$ MOVB #33,-1(R0) DEC WRT+Q.IOPL+2 100$: MOVB #15,(R0)+ MOVB #12,(R0)+ MOV #MCR,WRT+Q.IOPL DIR$ #WRT CALL SCPAR BR TEST ; CHMCR:: MOV R5,WRT+Q.IOPL MOV R5,R0 1$: CMPB #15,(R5) BEQ 2$ CMPB #33,(R5) BEQ 2$ ; TSTB (R5) ; BEQ 2$ INC R5 BR 1$ 2$: SUB R0,R5 MOV R5,WRT+Q.IOPL+2 DIR$ #WRT MOV R0,SPW+S.PWCA ; DIR$ #SPW BCS 3$ ; WTSE$S #2 3$: RETURN .END TEST