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

⟦dfa48162d⟧

    Length: 11132 (0x2b7c)
    Notes: pts_type(SC)
    Names: »DKRUT3.SC«

Derivation

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

PTS(SC)

	IDENT	DKRUT3	UPD 80-01-21/CHST 
* 
* 
************************************************************************
* 
* 
*          ALL COMMENTS TO DKRUT3 ARE FOUND IN MODULE 
* 
*                       D E D I C O M M 
* 
* 
************************************************************************
* 
* 
	DDUM	DDINIT
	PDIV 
	ENTRY NXPRFM 
 EXT COND 
 EXT DISU 
 EXT DEPOOL 
 EXT WRFSP
 EXT WAIT 
 EXT RELEAS 
 EXT FREESP 
 EXT SCHPOO 
	ENTRY	GETSYS 
	ENTRY	ENTSYS 
	ENTRY	NOFFRE 
	ENTRY	GETFMT 
	ENTRY	SCHFMT 
	ENTRY	SFMTCH 
	EXT	STRT01 
	EXT	RETURN 
	EXT	RFRSP
	EXT	RD 
	ENTRY	ALGO 
	ENTRY	GETTBL 
	ENTRY	DELTBL 
	ENTRY	ENTTBL 
 EXT RDDS 
	EJECT
DUMPROC	PROC	FC 
GETFMT			GET FORMAT 
 MOVE RNRFMCH,W0
 MOVE STR6A,DEINPUT 
 PERF WAIT
 BERR RETURN
NXPRFM
 PERF SCHPOO,=C'F ',STR6A,W7
 IB DEBIN4,GOTFFR,FLOCKE
			SEARCH ON DISC 
RDDK
 MOVE DEBINW4,W0
 CBNE FRMTPNTR,W0,MAXI
 CLEAR SWIT04 
 PERF SFMTCH,W4,SYSBUF,W10
 BERR RETURN
RDDK98
 TEST SWIT02
 BNZ RETURN 
			READ 1ST REC OF FMT
 MOVE SYSBUF,HEX00
 PERF DISU,W1,DEBIN3,SYSBUF 
 PERF ALGO,W2 
 BNERR CHOK 
RDDK99
 MOVE FRMTPNTR,W0 
 CBE FC,=W'31',RDDK100 IF GETNEXT 
 CBE FC,=W'32',RDDK100 IF GETPREV 
 SET SWIT07 
 BNZ SETER
RDDK100 
 PERF RELEAS
 B STRT01 
SETER 
 MOVE DEBINW4,W9
 B RETURN 
CHOK
 MOVE FRMTPNTR,DEBIN3	SET FRMTPNTR
			GET LINK NEXT
 XCOPY DEBIN5,W0,W2,SYSBUF,W4 
			GET NO OF REC
 MOVE DEBIN3,W0 
 XCOPY DEBIN3,W1,W1,SYSBUF,W8 
 MOVE DEBIN1,DEBIN3 
 MOVE DEBIN4,W0 
			GET NO OF CONSEC 
 XCOPY DEBIN4,W1,W1,SYSBUF,W9 
 PERF DEPOOL,W1,DEBIN3,DEBIN4,STRG10A 
 BNERR GET21
 MOVE DEBINW4,W13	'NO BUFFERS FREE' 

 B RETURN 
MAXI
 MOVE DEBIN3,FRMTPNTR 
 B RDDK98 
GET21 
 MOVE DEBIN4,DEBIN3 
GET20 
 XCOPY BPOOL(DEBIN3),W0,W188,SYSBUF,W10 
 XCOPY RPOOL(DEBIN3),W9,W10,SYSBUF,W0 
 SUB DEBIN1,W1
 CBE DEBIN1,W0,TBFAL
 PERF DISU,W1,DEBIN5,SYSBUF 
 BNERR GET25
 PERF DEPOOL,W6,DEBIN4,DEBIN3,STRG10A 
 B RDDK99 
GET25 
			GET LINK NEXT
 XCOPY DEBIN5,W0,W2,SYSBUF,W4 
 XCOPY DEBIN3,W1,W1,RPOOL(DEBIN3),W8
 B GET20
TBFALL
 MOVE DEBIN4,DEBIN3 
TBFAL 
 PERF DEPOOL,W4,DEBIN4,DEBIN1,STRG10A 
 PERF DEPOOL,W6,PINDFR,DEBIN1,STRG10A 
SETPFR
 MOVE PINDFR,DEBIN4 
 B RETURN 
FLOCKE
 MOVE DEBINW4,W24 'LOCKED'
 B RETURN 
GOTFFR
	TBF	SWIT02,FGETUN	IF NOT SEARCH
 MOVE DEBIN1,W0 
 XCOPY DEBIN1,W1,W1,RPOOL(DEBIN3),W7
 CBL DEBIN1,W1,FUT NOT USED 
INDUSE
	B	FLOCKE 
FUT 
	B	RETURN 
FGETUN
 PERF SCHPOO,=C'F ',STR6A,W5 SET
 B TBFALL 
SCHFMT			SEARCH FORMAT
 SET SWIT02 
 B GETFMT 
* 
* 
ENTSYS
 PERF WAIT
 BERR RETURN
 MOVE SYSBUF,=X'535600' 
 MOVE DEBIN1,W10
 MOVE DEBIN2,W1 
CENT
 COPY SYSBUF,DEBIN1,W17,SYSV(DEBIN2),W0 
 ADD DEBIN1,W17 
 ADD DEBIN2,W1
 CBL DEBIN2,W11,CENT
 PERF DISU,W2,W5,SYSBUF 
 B RETURN 
* 
* 
GETSYS
	PERF	WAIT
	BERR	RETURN
 PERF DISU,W1,W5,SYSBUF 
 BOK NNODA
 MOVE SYSBUF,HEX00
 MOVE DEBINW4,W0
NNODA 
 MOVE DEBIN1,W10
 MOVE DEBIN2,W1 
CGET
 COPY SYSV(DEBIN2),W0,W17,SYSBUF,DEBIN1 
 ADD DEBIN1,W17 
 ADD DEBIN2,W1
 CBL DEBIN2,W11,CGET
 B RETURN 
* 
* 
	EJECT
* 
* 
ENTTBL
 SET SWIT01 
 B GETT01 
ENTT01
 MOVE SYSBUF,=X'5400' 
ENTCOR
 COPY SYSBUF,W8,W2,RPOOL(PINDTB),W17
 COPY SYSBUF,W10,W188,BPOOL(PINDTB),W0
 PERF DISU,W2,DEBIN4,SYSBUF 
 B RETURN 
ENTT03
 PERF FREESP,DEBIN2,W1
 BERR RETURN
 XCOPY SYSBUF,W4,W2,DEBIN2,W0 
 PERF DISU,W2,DEBIN4,SYSBUF 
 BERR RETURN
 MOVE DEBIN4,DEBIN2 
 B ENTT01 
* 
* 
* 
DELTBL
 SET SWIT02 
 B GETT01 
DELT01
 XCOPY SYSBUF,DEBIN5,W2,W0,W0 
 PERF DISU,W2,W7,SYSBUF 
 BNOK RETURN
DELT02
 PERF DISU,W1,DEBIN1,SYSBUF 
 BNOK RETURN
 XCOPY DEBIN2,W0,W2,SYSBUF,W4 
 PERF RFRSP,DEBIN1,W1 
 BNOK RETURN
 CBE DEBIN2,W0,RETUR
 MOVE DEBIN1,DEBIN2 
 B DELT02 
* 
* 
* 
* 
* 
GETTBL
 PERF SCHPOO,=C'T ',TABLE,W5
 IB DEBIN4,GTF,LCK
			NOT  IN POOL, READ 
GETT01
 PERF WAIT
 BERR RETURN
 COPY STR2A,W0,W2,TABLE,W1	GET TABLE-NO 
 MOVE BCD13A,STR2A
 MOVE DEBIN5,BCD13A	CONVERT TO BINARY 
 CBL DEBIN5,=W'95',DKTBL
 MOVE DEBINW4,W1	INDICATE ERROR 
RETUR 
 B RETURN 
DKTBL 
 PERF DISU,W1,W7,SYSBUF	READ TABLE-PTR-REC
 BOK MUL
	CMP	DEBINW4,=W'30' 
	BNE	RETURN 
 MOVE DEBINW4,W0
 TBF SWIT01,NOINSY
 MOVE SYSBUF,=X'544300' 
 PERF DISU,W2,W7,SYSBUF 
 BERR RETURN
MUL 
 MUL DEBIN5,W2
 ADD DEBIN5,W10 
 XCOPY DEBIN1,W0,W2,SYSBUF,DEBIN5 
 CBNE DEBIN1,W0,DT002 
 TBF SWIT01,NOINSY
 PERF FREESP,DEBIN1,W1
 BERR RETURN
 XCOPY SYSBUF,DEBIN5,W2,DEBIN1,W0 
 PERF DISU,W2,W7,SYSBUF 
 BERR RETURN
	MOVE	DEBIN4,DEBIN1 
 B ENTT01 
DT002 
 TEST SWIT02
 BNZ DELT01 
RDN 
 PERF DISU,W1,DEBIN1,SYSBUF 
 BNOK RETURN
	MOVE	DEBIN4,DEBIN1 
 MOVE DEBIN1,W0 
 XCOPY DEBIN1,W1,W1,SYSBUF,W9	LAST ELEMENT-NO 
 CBNG ELMNO,DEBIN1,FNDTBL 
 XCOPY DEBIN1,W0,W2,SYSBUF,W4	GET LINK NEXT 
 CBG DEBIN1,W0,RDN	READ NEXT RECORD 
 TBF SWIT01,NOINSY JUMP IF NOT ENTER
 MOVE DEBIN2,W17
 MATCH RPOOL(PINDTB),DEBIN2,W1,SYSBUF,W8,W1 
 BOK ENTT01 INSERT IN CURRENT SECTOR
 B ENTT03 INSERT NEW SECTOR 
NOINSY
 MOVE DEBINW4,W9 'NOT IN SYSTEM'
 B RETURN 
FNDTBL
 TEST SWIT01
  BNZ ENTCOR
 MOVE DEBIN3,W1 
 MOVE DEBIN2,W1 
 PERF DEPOOL,W1,DEBIN3,DEBIN2,STRG10A 
 BNOK RETURN
 COPY RPOOL(DEBIN3),W9,W10,SYSBUF,W0
 COPY BPOOL(DEBIN3),W0,W188,SYSBUF,W10
GTF 
 PERF DEPOOL,W4,DEBIN3,DEBIN2,STRG10A 
 PERF DEPOOL,W6,PINDTB,DEBIN2,STRG10A	RELEASE BUFFER
 MOVE PINDTB,DEBIN3 
 B RETURN 
LCK 
 MOVE DEBINW4,=W'25'
 B RETURN 
* 
	PEND 
* 
*   SUBROUTINR SFMTCH, SEARCH CHAIN. SWIT04 ON: USERFILE
* 
SFMTCH PROC WX,BUF,STEG 
 MOVE DEBIN1,WX 
RID0
 MOVE DEBIN2,W10
 TBF SWIT04,RID3
 PERF RDDS,DEBIN1 
 B BNERR
RID3
 PERF RD,DEBIN1,BUF 
BNERR 
 BNERR RID1 
 CBE DEBINW4,=W'30',RID2
 B RETR 
RID1
 ADD DEBIN2,W2
 XCOPY DKBIN1,W0,W2,BUF,W6
MTCH
	MATCH	BUF,DEBIN2,W6,STR6A,W0,W6
	BNERR	FOND 
	ADD	DEBIN2,STEG
	SUB	DEBIN2,W1
	CBNG	DEBIN2,DKBIN1,MTCH
 MOVE DEBINW4,W0
 XCOPY DKBIN1,W0,W2,BUF,W4
 CBE DKBIN1,W0,RID2 
 MOVE DEBIN1,DKBIN1 
 B RID0 
RID2
 MOVE DEBINW4,W9 INDICATE 'NOT IN CHAIN'
 B RETR 
FOND
 ADD DEBIN2,W6
 XCOPY DEBIN3,W0,W2,BUF,DEBIN2
RETR
 PERF COND
 RET
 PEND 
* 
NOFFRE PROC CNTR,INDFIL	GET NO OF FREE RECORDS
 MOVE CNTR,W0 
 MOVE DEBIN5,W2 
 CLEAR SWIT04 
US002 
 CBL INDFIL,W2,US001
 SET SWIT04 
US001 
 PERF RD,DEBIN5,RBUF
 BERR NOFRET
 XCOPY DEBIN5,W0,W2,RBUF,W4 
 XCOPY DEBIN4,W0,W2,RBUF,W10
 ADD CNTR,DEBIN4
 CBNE DEBIN5,W0,US002 
 MOVE FNOOFREC(INDFIL),CNTR 
NOFRET
 PERF COND
 RET
 PEND 
* 
* 
	EJECT
* 
*  SUBROUTINE ALGO: SET OR CHECK FORMAT-IDENTIFICATION ON DESCRIPTOR- 
*  RECORD FOR DIRECT DISC-ACCESS IN 'GET FORMAT'
*  FC = 1 FOR SET (ENTER FORMAT)
*  FC = 2 FOR GET (GET FORMAT) IN THIS CASE, THE CONDITIONREGISTER IS 
*         SET TO 0 IF IDENTIFICATION OKAY 
*         SET TO 2 IF IDENTIFICATION NOT OKAY 
* 
ALGO PROC FC
 MOVE DKBIN3,W0 
 MOVE DKBIN1,W0 
XCALGO
 XCOPY DKBIN2,W0,W2,STR6A,DKBIN1
 ADD DKBIN3,DKBIN2
 ADD DKBIN1,W2
 CBNE DKBIN1,W6,XCALGO
 IB FC		C 
		ALTO		C 
		ALFRO 
ALTO
 XCOPY SYSBUF,W0,W2,DKBIN3,W0 
 RET
ALFRO 
 XCOPY DKBIN2,W0,W2,SYSBUF,W0 
 CBE DKBIN2,DKBIN3,NOERR
 CMP W1,W2
 RET
NOERR 
 CMP W1,W1
 RET
 PEND 
	END

Full view