mirror of
https://github.com/PDP-10/its.git
synced 2026-02-14 12:04:03 +00:00
122 lines
1.5 KiB
Groff
122 lines
1.5 KiB
Groff
title DIRCPY, copy a directory to another
|
||
|
||
A=1
|
||
B=2
|
||
C=3
|
||
D=4
|
||
E=5
|
||
T=6
|
||
TT=7
|
||
P=17
|
||
|
||
CHDIRI=10
|
||
CHDSKI=11
|
||
CHDSKO=12
|
||
|
||
.INSRT SYSENG;FSDEFS >
|
||
|
||
$$RFN==1
|
||
.INSRT SYSENG; RFN >
|
||
|
||
PDL: -20,,.
|
||
BLOCK 20
|
||
JCL: BLOCK 20
|
||
|
||
|
||
indev: sixbit /DSK/
|
||
indir: sixbit /FOO/
|
||
outdev: sixbit /DSK/
|
||
outdir: sixbit /BAR/
|
||
|
||
FNAM:
|
||
DEV: 0
|
||
FN1: 0
|
||
FN2: 0
|
||
SNAM: 0
|
||
DIR: BLOCK 2000
|
||
BUF: BLOCK 2000
|
||
|
||
GO: .CLOSE 1, ;RUNS AS DAEMON
|
||
MOVE P,PDL
|
||
PUSHJ P,PARSE
|
||
|
||
CHKDIR: .CALL [ SETZ ? SIXBIT/OPEN/
|
||
[.BII,,CHDIRI]
|
||
INDEV
|
||
[SIXBIT/.FILE./]
|
||
[SIXBIT/(DIR)/]
|
||
SETZ INDIR]
|
||
.LOSE 1400
|
||
MOVE TT,[-2000,,DIR]
|
||
.IOT CHDIRI,TT
|
||
.CLOSE CHDIRI,
|
||
MOVE D,UDNAMP+DIR
|
||
CHKFIL: CAIL D,2000
|
||
.logout 1,
|
||
|
||
tlne tt,unigfl ;ignored?
|
||
jrst nxtfil ; yes, skip it
|
||
|
||
.CALL [ SETZ ? SIXBIT/OPEN/
|
||
[.BII,,CHDSKI]
|
||
INDEV
|
||
UNFN1+DIR(D)
|
||
UNFN2+DIR(D)
|
||
SETZ indir ]
|
||
.LOSE 1400
|
||
.CALL [ SETZ ? SIXBIT/OPEN/
|
||
[.BIO,,CHDSKO]
|
||
OUTDEV
|
||
[SIXBIT/_DIRCP/]
|
||
[SIXBIT/OUTPUT/]
|
||
setz outdir ]
|
||
.LOSE 1400
|
||
CPYFIL: MOVE TT,[-2000,,BUF]
|
||
.IOT CHDSKI,TT
|
||
MOVEI T,-BUF(TT)
|
||
JUMPE T,ENDFIL
|
||
MOVNS T
|
||
MOVSS T
|
||
HRRI T,BUF
|
||
.IOT CHDSKO,T
|
||
JRST CPYFIL
|
||
|
||
ENDFIL: .CLOSE CHDSKI,
|
||
.CALL [ SETZ ? 'RENMWO
|
||
MOVEI CHDSKO
|
||
UNFN1+DIR(D)
|
||
SETZ UNFN2+DIR(D) ]
|
||
.LOSE 1000
|
||
.CLOSE CHDSKO,
|
||
NXTFIL: ADDI D,LUNBLK
|
||
JRST CHKFIL
|
||
|
||
PARSE: .BREAK 12,[..RJCL,,JCL]
|
||
MOVE D,[440700,,JCL]
|
||
|
||
MOVEI B,FNAM
|
||
PUSHJ P,RFN"RFN
|
||
CAIE A,",
|
||
.LOSE
|
||
SKIPE A,DEV
|
||
MOVEM A,INDEV
|
||
SKIPN A,SNAM
|
||
MOVE A,FN1
|
||
MOVEM A,INDIR
|
||
|
||
MOVEI B,FNAM
|
||
PUSHJ P,RFN"RFN
|
||
SKIPE A,DEV
|
||
MOVEM A,OUTDEV
|
||
SKIPN A,SNAM
|
||
MOVE A,FN1
|
||
MOVEM A,OUTDIR
|
||
|
||
POPJ P,
|
||
|
||
RSIXTP: CAIN A,",
|
||
AOS (P)
|
||
POPJ 17,
|
||
|
||
END GO
|