.PSECT #ROUTINE NAME#:: MOV R5,-(SP) NCMDL: GCML$ #GCLBLK,#PROM,#PLN BCS GCLERR MOV #GCLBLK,R0 MOV (PC)+,R1 .BYTE 0,#CHARACTERS TO MATCH# MOV #KTB,R2 MOV G.CMLD(R0),R3 MOV G.CMLD+2(R0),R4 MOV ##SYNTAX#,R5 CALL .TPARS BCS TPRERR MOV (SP)+,R5 MOV #1,@2(R5) RETURN GCLERR: MOV #GCLBLK,R0 MOV (SP),R5 MOVB G.ERR(R0),R1 MOV R1,@2(R5) CMPB #GE.EOF,G.ERR(R0) BEQ 90$ CMPB #GE.IOR,G.ERR(R0) BNE 1$ MOV #GCLEM,GCLE BR 80$ 1$: CMPB #GE.OPR,G.ERR(R0) BNE 2$ MOV #GCLOP,GCLE BR 80$ 2$: CMPB #GE.BIF,G.ERR(R0) BNE 3$ MOV #GCLSY,GCLE BR 80$ 3$: CMPB #GE.MDE,G.ERR(R0) BNE 4$ MOV #GCLDP,GCLE BR 80$ 4$: CMPB #GE.RBG,G.ERR(R0) BNE 90$ MOV #GCLTL,GCLE 80$: CLR -(SP) MOV GCLE,-(SP) MOV R0,GCLE MOV SP,R0 CLR R1 JSR PC,$ERRLG CMP (SP)+,(SP)+ BR NCMDL 90$: MOV (SP)+,R5 RETURN TPRERR: MOV #SEBUF,R0 TST R3 BEQ 2$ 1$: MOVB (R4)+,(R0)+ SOB R3,1$ 2$: CLRB (R0) CLR -(SP) MOV #TPERM,-(SP) MOV SP,R0 CLR R1 JSR PC,$ERRLG CMP (SP)+,(SP)+ BR NCMDL RESCMD:: RCML$ #GCLBLK RETURN GCLBLK: GCMLB$ 3,,,#LOGICAL UNIT#,,132. PROM: .ASCIZ <15><12>/#PROMPT#>/ PLN = .-PROM-1 ..FC = 0 ..FP = 0 .EVEN GCLE: .WORD 0 GCLEM: .ASCIZ /COMMAND LINE INPUT ERROR/ GCLSY: .ASCIZ /INDIRECT COMMAND SPEC SYNTAX ERROR/ GCLDP: .ASCIZ /INDIRECT COMMANDS NESTED TOO DEEP/ GCLTL: .ASCIZ /COMMAND LINE TOO LONG/ GCLOP: .ASCIZ /INDIRECT COMMAND FILE OPEN ERROR/ TPERM: .ASCII /SYNTAX ERROR/<15><12>/??? / SEBUF: .BLKB 132. .EVEN