10$$: INCB D0 ;pre-increment space cnt [101]
CMPB -(A2),#40 ;are we at a space?
BEQ 10$$ ; yes - decrement arg index
TSTB D0 ;were there any spaces? [101]
BEQ 20$$ ; no - go on [101]
CLRB 1(A2) ; yes - set 1st space to NUL
20$$: ; [101]
ENDM
; makes sure argument-type is a string [103]
DEFINE CKATYP arg1,arg2
CMPW arg1(A3),arg2 ;is arg a string
JNE ARGERR ; no
ENDM
;** Main Routine ***********************************************
START: PHDR -1,0,PH$REE!PH$REU
CMPW ARGCNT(A3),#6 ;are there 6 arguments passed?
JNE ARGERR
CKATYP A1.TYP,#2 ;check arg-1 type [103]
CKATYP A2.TYP,#2 ;check arg-2 type [103]
CKATYP A3.TYP,#2 ;check arg-3 type [103]
CKATYP A4.TYP,#2 ;check arg-4 type [103]
CKATYP A5.TYP,#2 ;check arg-5 type [103]
CKATYP A6.TYP,#2 ;check arg-6 type [103]
; Get job name
JOBIDX A6 ;index JCB
LEA A1,JOBNAM(A6) ;point A1 to RAD50 job name
DEPACK A1.IDX ;convert to ASCII
; The following lines check to see if JOBNAM starts w/a "%" -- for
; MULTI spawned jobs -- if so, it replaces it w/an "M".
;
; MOV A1.IDX(A3),A2 ;repoint to JOBNAM argument
; CMPB (A2),#'% ;is 1st byte a "%"
; BNE 15$ ;no - so go on
;
; MOVB #'M,(A2) ;yes - so replace w/"M"
; Get terminal name
15$: JOBIDX A6 ;index JCB
MOV JOBTRM(A6),A1 ;point to terminal status word
SUB #4,A1 ;A1 points to the terminal name
DEPACK A2.IDX ;convert to ASCII
; Get terminal driver name
JOBIDX A6 ;A1 points to JCB
MOV JOBTRM(A6),A1 ;A1 points to terminal status word
MOV T.TDV(A1),A1 ;point to the terminal driver
SUB #4,A1 ;A1 points to the terminal driver name
DEPACK A3.IDX ;convert to ASCII
; Check to see if it's a MULTI spawned job
JOBIDX A6 ;index JCB
MOV JOBATT(A6),D6 ;get controller job
JEQ EXIT ;none so go exit [102]
; Get controller job name
MOV D6,A6 ;get owner job address
LEA A1,JOBNAM(A6) ;point A1 to RAD50 job name
DEPACK A4.IDX ;convert to ASCII
; Get controller job terminal name
JOBIDX A6 ;index JCB
MOV JOBATT(A6),A6 ;get controller job
MOV JOBTRM(A6),A1 ;point to terminal status word
SUB #4,A1 ;point to the terminal name
DEPACK A5.IDX ;convert to ASCII
; Get controller job terminal driver name
JOBIDX A6 ;index JCB
MOV JOBATT(A6),A6 ;get controller job
MOV JOBTRM(A6),A1 ;point to terminal status word
MOV T.TDV(A1),A1 ;point to the terminal driver
SUB #4,A1 ;A1 points to the terminal driver name
DEPACK A6.IDX ;convert to ASCII