DataMuseum.dk

Presents historical artifacts from the history of:

Philips Data Systems

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about Philips Data Systems

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download

⟦fad33c04b⟧

    Length: 11044 (0x2b24)
    Notes: pts_type(SC)
    Names: »REORGU.SC«

Derivation

└─⟦48601905a⟧ Bits:30009668 Philips computer tape "600121"
    └─⟦this⟧ »S:DU/REORGU.SC« 
└─⟦79fbed147⟧ Bits:30009697 Philips computer tape "600414"
    └─⟦this⟧ »S:DU/REORGU.SC« 
└─⟦d2a299635⟧ Bits:30009698 Philips computer tape "600415"
    └─⟦this⟧ »S:DU/REORGU.SC« 

PTS(SC)

	IDENT	REORGU	REL. 1.0 79-05-29/LABJ
********************************
*  REORGANISATION OF USERFILE  *
********************************************
*  WORKITEMS   *** INPUT ***               *
*  RECNUM = JOB-CHAIN RECORD NO.           *
*  BIN1 = BATCH-CHAIN RECORD NO.           *
*  BIN2 = POINTER IN JOB-CHAIN             *
*  BIN3 = NOT USED                         *
*  BIN4 = POINTER IN BATCH-CHAIN           *
*  BIN5 = POINTER TO ACC.RECORD            *
*  BIN6 = POINTER TO DS-RECORD             *
*  BIN7 = OCC.BYTES IN JOB-CHAIN-RECORD    *
*  BIN8 = OCC.BYTES IN BATCH-CHAIN-RECORD  *
*  BIN9 = WORKITEM                         *
*              *** OUTPUT ***              *
*  BIN10 = JOB-CHAIN RECORD NO.            *
*  BIN11 = BATCH-CHAIN RECORD NO.          *
*  BIN12 = OCC.BYTES IN JOB-CHAIN-RECORD   *
*  BIN13 = OCC.BYTES IN BATCH-CHAIN-RECORD *
*  BIN14 = LINK PREVIOUS                   *
*  BIN16 = WORKITEM                        *
********************************************
	DDUM	DDINIT
	PDIV 
	ENTRY	REORGU 
* 
	EXT	DECLRN 
	EXT	DSKERR 
	EXT	FREESP 
	EXT	DISU 
* 
	EXT	CHANFC 
	EXT	GETVOL 
	EXT	CHVOL
* 
CLOSE	EQU	X'03' 
* 
REORGU	PROC 
****************
*  OPEN FILES  *
****************
	MOVE FINDEXPO(W1),W1 
 MOVE LRUQUE,HEX00

 MOVE DKBIN1,W1 
DES1
 MOVE RPOOL(DKBIN1),=X'5800'
 ADD DKBIN1,W1
 CBNE DKBIN1,W17,DES1 
* 
	MOVE	TABLE,VOLNAM	OUTPUT VOLUME-NAME 
	CALL	CHANFC,DISK,FCOD1 
	CALL	GETVOL,DISK,SBUF,VOLNAM,RETCOD	GET VOLUME-NAME
	CMP	RETCOD,W0
	BNE	ERROR
* 
	MOVE	FCOD1,=X'D0'
	MOVE	FCOD2,=X'D1'
	CALL	CHANFC,DISK,FCOD1 
	ASSIGN	DISK,0,DEBINW4,USEFIL,VOLNAM	INPUT
	BNOK	ERROR 
	CALL	CHANFC,DISK,FCOD2 
	ASSIGN	DISK,0,DEBINW4,USEFIL,COPNAM	OUTPUT 
	BNOK	ERROR 
	PERF	DISU,W5,W2,RBUF	READ FREE-SPACE OUTPUT
	BNOK	ERROR 
	COPY	RPOOL(W1),W9,W10,RBUF,W0
	COPY	BPOOL(W1),W0,W188,RBUF,W10
*************** 
*  COPY JOBS  * 
*************** 
	MOVE	RECNUM,W3	1:ST JOB-CH RECORD INPUT
	MOVE	BIN10,W3	1:ST JOB-CH RECORD OUTPUT
C10 
	MOVE	BIN2,W10	POINTER TO 1:ST JOB
	B	C12
C101
	ADD	BIN2,W10 
	CBG	BIN2,BIN7,C11	>OCC. BYTES
	B	C13
C11 
	XCOPY	RECNUM,W0,W2,RBUF,W4	LINK NEXT 
	CMP	RECNUM,W0
	BE	C90 
	B	C10
C12 
	PERF	DISU,W3,RECNUM,RBUF	READ JOB-CHAIN
	BOK	C13
	CMP	DEBINW4,W9 
	BE	C90 
	B	ERROR
C13 
	XCOPY	BIN7,W0,W2,RBUF,W6	OCC. BYTES
	COPY	STRG10A,W0,W10,RBUF,BIN2
	COPY	JOBNAME,W0,W6,STRG10A,W2
	XCOPY	BIN1,W0,W2,STRG10A,W8	REC.NO.-POINTER TO BATCH-CHAIN 
	CBE	BIN1,W0,C11
	CBE	COPY,=C'Y',C16 
	MOVE	ANSW,=X'00' 
	ATTFMT	JOB	COPY JOB ?
	SET	DEPROMPT 
C14 
	PERF	DECLRN
	IB	DEBINW2,C14,C90 
	CBE	ANSW,=C'N',C101
C16 
	MOVE	DEBINW4,W0
	PERF	DISU,W5,BIN10,SYSBUF	READ OUTPUT
	BOK	C18
	CBE	DEBINW4,=W'30',C165
	B	ERROR
C165
*  NO DATA  * 
	MOVE	DEBINW4,W0
	MOVE	SYSBUF,=X'4A4300'	'JC'
C17 
	XCOPY	SYSBUF,W6,W2,W10,W0	OCC. BYTES 
	PERF	DISU,W4,BIN10,SYSBUF	WRITE
	BERR	ERROR 
C18 
	XCOPY	BIN12,W0,W2,SYSBUF,W6	OCC. BYTES 
	CBL	BIN12,=W'388',C19
	XCOPY	BIN9,W0,W2,SYSBUF,W4	LINK NEXT 
	CBE	BIN9,W0,C184 
	MOVE	BIN10,BIN9
	B	C16
C184
*  NEW RECORD  *
	PERF	FREESP,BIN9,W1
	BERR	ERR17 
	XCOPY	SYSBUF,W4,W2,BIN9,W0	LINK NEXT 
	PERF	DISU,W4,BIN10,SYSBUF	WRITE
	BERR	ERROR 
	MOVE	SYSBUF,=X'4A4300'	'JC'
	XCOPY	SYSBUF,W2,W2,BIN10,W0	LINK PREV
	MOVE	BIN10,BIN9
	B	C17
C19 
*  INSERT JOB-ENTRIES  *
	PERF	FREESP,BIN11,W1	BATCH RECORD NO.
	BERR	ERROR 
	XCOPY	STRG10A,W8,W2,BIN11,W0 
	COPY	SYSBUF,BIN12,W10,STRG10A,W0	JOB ENTRY 
	ADD	BIN12,W10
	XCOPY	SYSBUF,W6,W2,BIN12,W0	OCC. BYTES 
	PERF	DISU,W4,BIN10,SYSBUF	WRITE
	BERR	ERROR 
	EJECT
******************
*  COPY BATCHES  *
******************
C20 
	MOVE	BIN4,W10
	B	C22
C201
	ADD	BIN4,W12 
	CBG	BIN4,BIN8,C21	> OCC. BYTES 
	B	C23
C21 
	XCOPY	BIN1,W0,W2,SBUF,W4	LINK NEXT BATCH-RECORD
	CBE	BIN1,W0,C101	NEXT JOB
	B	C20
C22 
	PERF	DISU,W3,BIN1,SBUF	READ BATCH-CHAIN
	BOK	C23
	CBE	DEBINW4,W9,C101	NEXT JOB 
	B	ERROR
C23 
	XCOPY	BIN8,W0,W2,SBUF,W6	OCC. BYTES
	COPY	STR15A,W0,W12,SBUF,BIN4 
	COPY	BATCH,W0,W6,STR15A,W2 
	XCOPY	BIN5,W0,W2,STR15A,W8	POINTER ACC-RECORD
	XCOPY	BIN6,W0,W2,STR15A,W10	POINTER DS-RECORD
	CBE	BIN5,W0,C21
	CBE	COPY,=C'Y',C26 
	MOVE	ANSW,=X'00' 
	ATTFMT	BATCH	COPY BATCH ?
	SET	DEPROMPT 
C24 
	PERF	DECLRN
	IB	DEBINW2,C24,C90 
	CBE	ANSW,=C'N',C201
C26 
	MOVE	DEBINW4,W0
	PERF	DISU,W5,BIN11,SYSBUF	READ OUTPUT
	BOK	C28
	CBE	DEBINW4,=W'30',C265
	B	ERROR
C265
*  NO DATA  * 
	MOVE	DEBINW4,W0
	MOVE	SYSBUF,=X'424300'	'BC'
C27 
	XCOPY	SYSBUF,W6,W2,W10,W0	OCC. BYTES 
	PERF	DISU,W4,BIN11,SYSBUF	WRITE
	BERR	ERROR 
C28 
	XCOPY	BIN13,W0,W2,SYSBUF,W6	OCC. BYTES 
	CBL	BIN13,=W'386',C29
	XCOPY	BIN9,W0,W2,SYSBUF,W4	LINK NEXT 
	CBE	BIN9,W0,C284 
	MOVE	BIN11,BIN9
	B	C26
C284
*  NEW RECORD  *
	PERF	FREESP,BIN9,W1
	BERR	ERR17 
	XCOPY	SYSBUF,W4,W2,BIN9,W0	LINK NEXT 
	PERF	DISU,W4,BIN11,SYSBUF	WRITE
	BERR	ERROR 
	MOVE	SYSBUF,=X'424300'	'BC'
	XCOPY	SYSBUF,W2,W2,BIN11,W0	LINK PREV
	MOVE	BIN11,BIN9
	B	C27
C29 
*  INSERT BATCH-ENTRIES  *
	PERF	FREESP,BIN9,W1	BATCH RECORD NO. 
	BERR	ERR17 
	XCOPY	STR15A,W8,W2,BIN9,W0	POINTER TO ACC.RECORD 
	PERF	FREESP,BIN16,W1 
	BERR	ERR17 
	XCOPY	STR15A,W10,W2,BIN16,W0	POINTER TO DS-RECORD
	COPY	SYSBUF,BIN13,W12,STR15A,W0	BATCH-ENTRY
	ADD	BIN13,W12	POINTER IN BATCH-CHAIN 
	XCOPY	SYSBUF,W6,W2,BIN13,W0	OCC.BYTES
	PERF	DISU,W4,BIN11,SYSBUF	WRITE
	BERR	ERROR 
	PERF	DSCOPY
	B	C201 
	EJECT
***************** 
*  CLOSE FILES  * 
***************** 
C90 
	MOVE	DEBINW4,W0
	PERF	DISU,W5,W2,RBUF	READ FREE-SPACE OUTPUT
	BERR	ERROR 
	COPY	RBUF,W0,W10,RPOOL(W1),W9
	COPY	RBUF,W10,W188,BPOOL(W1),W0
	PERF	DISU,W4,W2,RBUF	WRITE FREE-SPACE
	BERR	ERROR 
* 
C95 
	CALL	CHANFC,DISK,FCOD1	INPUT 
	DSC0	DISK,CLOSE
	CALL	CHANFC,DISK,FCOD2	OUTPUT
	DSC0	DISK,CLOSE
***************************************** 
*  CHANGE VOLUME-NAME TO ORIG.VOL.NAME  * 
***************************************** 
C98 
	CALL	CHANFC,DISK,FCOD	OUTPUT 
	CALL	CHVOL,DISK,SBUF,TABLE 
	RET
	PEND 
* 
* 
ERROR 
	MOVE	DEBINW4,W3	'I/O-ERROR'
ERR99 
	PERF	DSKERR,DEBINW4
	B	C95
ERR17 
	MOVE	DEBINW4,W17	'OUTPUT FILE TOO SMALL' 
	B	ERR99
	EJECT
DSCOPY	PROC 
*  COPY ACC.RECORDS  *
	PERF	DISU,W3,BIN5,SYSBUF	READ
	BERR	ERROR 
	PERF	DISU,W4,BIN9,SYSBUF	WRITE 
	BERR	ERROR 
*  COPY DS-RECORDS  * 
	MOVE	BIN9,W0	LINK PREV.
	MOVE	BIN14,W0	LINK PREV. 
DS20
	CBE	BIN6,W0,DS99 
	PERF	DISU,W3,BIN6,SYSBUF	READ
	BERR	ERROR 
	XCOPY	BIN6,W0,W2,SYSBUF,W4	LINK NEXT 
	CBE	BIN6,W0,DS30 
	PERF	FREESP,BIN9,W1
	BERR	ERR17 
	XCOPY	SYSBUF,W4,W2,BIN9,W0	LINK NEXT 
DS30
	XCOPY	SYSBUF,W2,W2,BIN14,W0	LINK PREV. 
	PERF	DISU,W4,BIN16,SYSBUF	WRITE
	BERR	ERROR 
	MOVE	BIN14,BIN16 
	MOVE	BIN16,BIN9
	B	DS20 
DS99
	RET
	PEND 
	EJECT
JOB	FRMT
	FSL
	FCOPY	=C'COPY JOB:'
	FINP	11
	FCOPY	JOBNAME
	FLINK	FANSW
	FMEND
* 
BATCH	FRMT
	FSL
	FCOPY	=C'COPY BATCH:'
	FINP	14
	FCOPY	BATCH
	FLINK	FANSW
	FMEND
* 
FANSW	FRMT
	FNL
	FCOPY	=C'Y/N'
	FKI	5,MINL=1,MAXL=1,ME,NEOI,ALPHA,APPL=1 
	FCOPY	ANSW 
	FNL
	FKI	1,MINL=0,MAXL=0
	FCOPY	HEX00
	FMEND
	END

Full view