; SETX.M68
; VER 1.0 8611.20
;
; ALLOW USER TO SET/RESET THE USER NAME AND THE COMMAND LINE
; IN THE JOB CONTROL BLOCK
;
; PROPRIETARY PROGRAM MATERIAL
;
; THIS MATERIAL IS THE PROPERTY OF JEFF STUYVESANT,
; 12307 PACIFIC AVE, APT 2,MAR VISTA, CALIF. ,90066
; PERMISSION TO COPY AND USE IS GRANTED FOR
; NON-PROFIT USES ONLY.
;
; Copyright (c) 1986 JEFF STUYVESANT
BYP
LIN
BEQ SEL%ERR
MOVW #0,D0
LEA A1,SEL%LST ; POINT TO SELECTION LIST
10$: CMMB @A2,4(A1) ; CMP THE TWO
BEQ 200$ ; IF MATCH CKECK REMAINDER
BLO SEL%ERR ; IF LOW GONE TO FAR ERROR
ADD @A1,A1 ; POINT TO NEXT
BR 10$
100$: ADD @A1,A1
MOV A0,A2
BR 10$
200$: ; A2 POINTS TO INPUT: A1 POINTS TO PROMPT LIST SELECTION
MOVW #-1,D0 ; COUNTER
MOV A2,A0 ; SAVE A2
220$: INC D0 ; POINT TO NEXT
TRM ; END OF INPUT ?
BEQ FOUND ; IF END WE'VE FOUND IT
CMPB 4(A1)[~D0],#0 ; END OF PROMPT?
BEQ 100$ ; BR IF YES - NO GOOD LOOK SOME MORE
CMMB (A2)+,4(A1)[~D0] ; CMP FOR MATCH
BNE 100$
BR 220$
FOUND: ; A1 POINTS TO PROMPT, A2 POINTS TO AFTER INPUTED PROMPT
JOBIDX A5
LEA A0,10(A1)
ADD @A0,A0
JMP @A0
SEL%ERR:
CRLF
TYPECR <USAGE: SETX function,{new parameter}>
CRLF
TYPECR <Functions:>
TYPECR < USN Display or set User name>
TYPECR < (maximum of 19 characters)>
CRLF
TYPECR < CMD Display of set Command line>
TYPECR < (maximum of 29 characters)>
EXIT
;
;
; INPUT/EDIT USER NAME
;
USN:
BYP ; BYPASS ANY BLANKS
LEA A0,JOBUSN(A5) ; POINT TO JOB USER NAME
TRM ; POINT TO TERMINATING CHAR
BNE 50$ ; IF NOT TRM THEN STORE
CMPB @A0,#0 ; ANY USER NAME STORED ?
BNE 10$ ; IF NE THAN CURRENT STORED
TYPECR %No current USER NAME stored
EXIT
;
; PRINTS OUT USER NAME
10$:
; A0 POINTS TO JOBUSN IN MEMORY
; A2 POINTS TO INPUT LINE
TYPE Current USER NAME:
MOVW #19.,D1
BR T.OUT
;
; STORES USER NAME
50$:
CMPB @A2,#'* ; * IDENT DELETE
BEQ 200$ ; TO RTN TO DELETE
; A0 POINTS TO JOBUSN IN MEMORY
; A2 POINTS TO INPUT LINE
MOVW #19.,D1
BR STORE
;
; DELETES THE USER NAME
200$:
; A0 POINTS TO JOBUSN IN MEMORY
; A2 POINTS TO INPUT LINE
MOVW #19.,D1
;
; DELETE STORED LINE
DEL:
MOVW D1,D0
220$: MOVB #0,(A0)+
DBEQ D0,220$
EXIT
;
;
STORE: ; A0 POINTS TO SELECTED LINE IN MEMORY
; A2 POINTS TO INPUT LINE
; D1 CONTAINS THE COUNT
MOVW D1,D0
80$: MOVB (A2)+,(A0)+
DBEQ D0,80$
EXIT
;
;
T.OUT: ; A0 POINTS TO SELECTED LINE IN MEMORY
; A2 POINTS TO INPUT LINE
; D1 CONTAINS THE COUNT
MOVW D1,D0
BR 30$
20$:
TOUT
30$: MOVB (A0)+,D1
DBEQ D0,20$
; CRLF
EXIT
;
;
; INPUT/EDIT CMD LINE
;
CMD:
BYP ; BYPASS ANY BLANKS
LEA A0,JOBCMD(A5) ; POINT TO JOB USER NAME
TRM ; POINT TO TERMINATING CHAR
BNE 50$ ; IF NOT TRM THEN STORE
CMPB @A0,#0 ; ANY USER NAME STORED ?
BNE 10$ ; IF NE THAN CURRENT STORED
TYPECR %No current CMD LINE stored
EXIT
;
; PRINTS OUT CMD LINE
10$:
; A0 POINTS TO JOBCMD IN MEMORY
; A2 POINTS TO INPUT LINE
TYPE Current CMD LINE:
MOVW #29.,D1
BR T.OUT
;
; STORES THE CMD LINE
50$:
CMPB @A2,#'* ; * IDENT DELETE
BEQ 200$ ; TO RTN TO DELETE
; A0 POINTS TO JOBCMD IN MEMORY
; A2 POINTS TO INPUT LINE
MOVW #29.,D1
BR STORE
;
; DELETES THE CMD LINE
200$:
; A0 POINTS TO JOBCMD IN MEMORY
; A2 POINTS TO INPUT LINE