|
|
DataMuseum.dkPresents historical artifacts from the history of: Philips Data Systems |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Philips Data Systems Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 11132 (0x2b7c)
Notes: pts_type(SC)
Names: »DKRUT3.SC«
└─⟦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«
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