mirror of
https://github.com/PDP-10/its.git
synced 2026-01-21 10:13:35 +00:00
83 lines
1.4 KiB
Groff
Executable File
83 lines
1.4 KiB
Groff
Executable File
|
||
;-*-MIDAS-*-
|
||
|
||
TITLE X ;REMEMBER AND RE-EXECUTE A COMMAND STRING.
|
||
|
||
.INSRT RMS;MACROS >
|
||
|
||
TYOC==1
|
||
DSKC==2
|
||
|
||
IFNDEF CMDBFL,CMDBFL==1000.
|
||
|
||
BEG: .SUSET [.RXUNAM,,XUNAME]
|
||
.SUSET [.RHSNAM,,HSNAME]
|
||
.SUSET [.RXJNAM,,B]
|
||
LSH B,-6
|
||
TLO B,(SIXBIT/_/)
|
||
.SUSET [.ROPTIO,,A]
|
||
TLNN A,OPTCMD
|
||
JRST NOJCL
|
||
.BREAK 12,[5,,CMDBUF]
|
||
SYSCAL OPEN,[[.BAO,,DSKC] ? ['DSK,,] ? XUNAME ? B ? HSNAME]
|
||
JRST NODSK
|
||
SKIPN CMDBUF
|
||
JRST NOJCL
|
||
MOVE A,[440700,,CMDBUF]
|
||
LOOP: ILDB C,A
|
||
CAIN C,^C
|
||
JRST NOLOOP
|
||
JUMPE C,NOLOOP
|
||
CAIE C,^M ;FIND THE CR ENDING THE JCL
|
||
JRST LOOP
|
||
MOVEI C,^J ;AND PUT A LF AFTER IT.
|
||
IDPB C,A
|
||
NOLOOP: SETZ A,
|
||
SKIPE CMDBUF(A)
|
||
AOJA A,.-1
|
||
MOVNS A
|
||
HRLZS A
|
||
HRRI A,CMDBUF
|
||
.IOT DSKC,A
|
||
NOJCL: SYSCAL OPEN,[[.BAI,,DSKC] ? ['DSK,,] ? XUNAME ? B ? HSNAME]
|
||
JRST NOFILE
|
||
MOVE A,[-CMDBFL,,CMDBUF]
|
||
.IOT DSKC,A
|
||
SETZM (A)
|
||
SUBI A,1 ;FLUSH CONTROL-C'S AT EOF
|
||
HRLI A,010700
|
||
FLSCTC: LDB B,A
|
||
CAIE B,^C
|
||
JRST FLSCTX
|
||
MOVEI B,0
|
||
DPB B,A
|
||
ADD A,[070000,,]
|
||
JUMPGE A,FLSCTC
|
||
FLSCTX: .VALUE VALCOM
|
||
|
||
NODSK: MOVEI A,[ASCIZ/CAN'T WRITE DISK FILE/]
|
||
JRST NO
|
||
|
||
NOFILE: MOVEI A,[ASCIZ/CAN'T READ DISK FILE/]
|
||
JRST NO
|
||
|
||
NO: SYSCAL OPEN,[[.UAO,,TYOC] ? ['TTY,,]]
|
||
.VALUE
|
||
HRLI A,440700
|
||
NO1: ILDB B,A
|
||
JUMPE B,KILL
|
||
.IOT TYOC,B
|
||
JRST NO1
|
||
|
||
KILL: DPAUSE
|
||
.BREAK 16,40000
|
||
|
||
VALCOM: ASCII/:KILL /
|
||
CMDBUF: BLOCK CMDBFL
|
||
-1
|
||
|
||
XUNAME: 0 ;USER'S XUNAME
|
||
HSNAME: 0 ;USER'S HOME DIRECTORY.
|
||
DEBUG: -1 ;-1 IF DEBUGGING.
|
||
|
||
END BEG |