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

⟦8623a9e22⟧

    Length: 11104 (0x2b60)
    Notes: pts_type(SC)
    Names: »DEDISU.SC«

Derivation

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

PTS(SC)

 IDENT DEDISU PRR 1.0 79-06-19/AST
* 
* 
************************************************************************
* 
* 
*          THIS MODULE CONTENTS ALL SUBROUTINES, USED BY
* 
*                          D E D I S C
* 
* 
************************************************************************
* 
* 
	DDUM	DDINIT
	PDIV 
 EXT DISU 
 EXT DEPOOL 
 EXT GETFRE 
 EXT SETFRE 
	EXT	SETOCC 
 EXT REFSP
 EXT WRFSP
 EXT CHANFC 
 EXT COND 
 EXT RDDS 
 ENTRY POOL 
 ENTRY MATCH
 ENTRY NOFFRE 
 ENTRY NOFFRE 
 ENTRY WAIT 
 ENTRY RELEAS 
 ENTRY FREESP 
 ENTRY SCHPOO 
 ENTRY DLRCCH 
 ENTRY RD 
 ENTRY WR 
 ENTRY RFRSP
	ENTRY	OFRSP
 ENTRY SFMTCH 
 ENTRY LOCKE
 ENTRY RDACC
 ENTRY WRACC
 ENTRY POOL 
 ENTRY READJB 
 ENTRY MATCH
 ENTRY ENTR 
 ENTRY ALGO 
ATTACH EQU X'0E'
DETACH EQU X'0F'
	EJECT
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 
* 
* 
WAIT PROC		SUBROUTINE WAIT
 TBT SWITWT,WARE
 MOVE DEBINW4,W0
 CLEAR SWIT08 
 MOVE DKBIN1,=X'D0' 
 CALL CHANFC,DISK,DKBIN1
 DSC1 DISK,ATTACH,W128
 BNERR WARE2
 MOVE DEBINW4,W3
WARE
 PERF COND
 RET
WARE2 
 SET SWITWT 
 SWITCH 
 B WARE 
* 
* 
 PEND 
RELEAS PROC 		SUBROUTINE RELEAS 
 CLEAR SWITWT 
 BZ RELRET
 MOVE DKBIN1,=X'D0' 
 CALL CHANFC,DISK,DKBIN1
 DSC1 DISK,DETACH,W0
RELRET
 RET
 PEND 
* 
*   SUBR FREESP, GET RECORDNUMBER OF NEXT FREE RECORD IN FILE 
* 
* 
FREESP PROC RECN,INDEX
 MOVE DEBINW4,W0
 CLEAR SWIT06 
 CLEAR SWIT07 
FREE01
 MOVE DKBIN1,FINDEXPO(INDEX)
	CALL	GETFRE,BPOOL(DKBIN1),RPOOL(DKBIN1),RECN 
 CBE RECN,W0,NOFN 
 SUB FNOOFREC(INDEX),W1 
 CBG FNOOFREC(INDEX),F95PROC(INDEX),FND 
 SET SW95PR 
 B FND
NOFN
 XCOPY DKBIN3,W0,W2,RPOOL(DKBIN1),W13 
 CBE DKBIN3,W0,EOFCHN 
FSP02 
 PERF SAVESB
 PERF WRFSP,INDEX 
 BERR RESSY 
 PERF REFSP,DKBIN3,INDEX
 BERR RESSY 
 PERF RESTSB
 B FREE01 
RESSY 
 PERF RESTSB
 B FND
 B FND
EOFCHN
 TBT SWIT06,NOFSP 
 SET SWIT06 
 MOVE DKBIN3,W2 
 B FSP02
NOFSP 
 MOVE DEBINW4,W10 
FND 
 CBG INDEX,W1,NEFE
 SET SWITFS 
NEFE
 PERF COND
 RET
	PEND 
* 
*     SUBROUTINE SCHPOO, SEARCH POOL
* 
SCHPOO PROC $IND,STRG,WX
 MOVE STRG10A,$IND
 COPY STRG10A,W1,W6,STRG,W0 
 PERF DEPOOL,WX,DEBIN3,DEBIN4,STRG10A 
 RET
 PEND 
* 
*   SUBROUTINE DLRCCH, REMOVE RECORD FROM CHAIN. SWIT04 ON: USERFILE
* 
DLRCCH PROC BUF 
 CLEAR BOOL8
 CLEAR BOOL9
 XCOPY DEBIN2,W0,W2,BUF,W2
 XCOPY DEBIN1,W0,W2,BUF,W4
 CBNE DEBIN1,W0,DL001 
 SET BOOL9
 B RREPRE 
DL001 
 PERF RD,DEBIN1,BUF 
 XCOPY DEBIN5,W0,W2,BUF,W2
 XCOPY BUF,W2,W2,DEBIN2,W0
 CBNE DEBIN2,W0,DL004 
 PERF WR,DEBIN5,BUF 
 MOVE DEBIN5,DEBIN1 
 B RREPRE 
DL004 
 PERF WR,DEBIN1,BUF 
RREPRE
 CBNE DEBIN2,W0,DL008 
 SET BOOL8
 TBT BOOL9,DLRET
 B DLR2 
DL008 
 PERF RD,DEBIN2,BUF 
 BERR DLRET 
 XCOPY DEBIN5,W0,W2,BUF,W4
 XCOPY BUF,W4,W2,DEBIN1,W0
 PERF WR,DEBIN2,BUF 
 BERR DLRET 
DLR2
 MOVE DEBIN1,FILINDUS 
 TBT SWIT04,DLR1
 MOVE DEBIN1,W1 
DLR1
 PERF RFRSP,DEBIN5,DEBIN1 
DLRET 
 PERF COND
 RET
 PEND 
RD PROC BIN,BUF 
 TBT SWIT04,US01
 PERF DISU,W1,BIN,BUF 
 B DRET 
US01
 PERF DISU,W3,BIN,BUF 
DRET
 RET
 PEND 
WR PROC BIN,BUF 
 TBT SWIT04,US02
 PERF DISU,W2,BIN,BUF 
 B DRET 
US02
 PERF DISU,W4,BIN,BUF 
 B DRET 
 PEND 
* 
*   SUBROUTINE RFRSP, FREE RECORDS ARE PASSED TO
*   FREESPACE-TABLE. RECORDNUMBER IN PM RECNO.
* 
RFRSP PROC RECNO,INDEX
	PERF	GFRSPR,RECNO,INDEX	GET FSP-REC WITH RECNO IN IT 
 CALL SETFRE,BPOOL(DEBIN4),RPOOL(DEBIN4),RECNO
 ADD FNOOFREC(INDEX),W1 
 PERF COND
 RET
 PEND 
* 
*   SUBROUTINE GFRSPR 
*   GET FREESPACE-RECORD WITH RECORDNUMBER ACCORDING
*   TO RECNO IN IT
* 
*   SYNTAX:   PERF   GFRSPR,RECNO,INDEX 
*                INDEX = INDEX TO CURRENT FILE
* 
GFRSPR	PROC	RECNO,INDEX 
ANFANG
 MOVE DKBIN1,W1 
 CBE INDEX,W1,SYSFLE
 MOVE DKBIN1,USELEN 
 DIV DKBIN1,SECLEN	GET NO OF SCTRS/REC
SYSFLE
 MOVE DEBIN4,FINDEXPO(INDEX) GET INDEX TO FREESP-POOL 
 XCOPY DKBIN2,W0,W2,RPOOL(DEBIN4),W15 OCC SPACE 
 SUB DKBIN2,W12 
 MUL DKBIN2,W8
 DIV DKBIN2,DKBIN1
 MUL DKBIN2,DKBIN1  GET RID OF UNUSED BITS
 XCOPY DKBIN1,W0,W2,RPOOL(DEBIN4),W17 1ST INDICATED RNR 
 MOVE DKBIN3,DKBIN1 SAVE 1ST INDICATED RNR
 ADD DKBIN1,DKBIN2 GET LAST INDICATED RNR 
 SUB DKBIN1,W1
 CBG RECNO,DKBIN1,NEXT
 CBL RECNO,DKBIN3,PREV
GFRET 
 MOVE DEBIN4,FINDEXPO(INDEX)
 RET
NEXT			GET NEXT FREESP-RECORD 
 MOVE DKBIN1,W13
READ
 XCOPY DEBIN4,W0,W2,RPOOL(DEBIN4),DKBIN1 GET LINK 
 CBE DEBIN4,W0,GFRET
 PERF SAVESB
 PERF WRFSP,INDEX 
 BERR GFREST
 PERF REFSP,DEBIN4,INDEX
 BERR GFREST
 PERF RESTSB
 B ANFANG 
GFREST
 PERF RESTSB
 B GFRET
PREV
 MOVE DKBIN1,W11
 B READ 
	PEND 
* 
* 
*     SUBROUTINE OFRSP
*     SET RECORD ACCORDING TO RECNO OCCUPIED
* 
OFRSP	PROC	RECNO,INDEX
	PERF	GFRSPR,RECNO,INDEX
	CALL	SETOCC,BPOOL(DEBIN4),RPOOL(DEBIN4),RECNO
	RET
	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
 PERF MATCH,BUF,DEBIN2,DKBIN1,STR6A,STEG
 BNERR FOND 
 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 
* 
* 
* 
LOCKE PROC
 MOVE DEBIN1,W0 
 XCOPY DEBIN1,W1,W1,RPOOL(DEBIN3),W0
 ADD DEBIN1,W128
 XCOPY RPOOL(DEBIN3),W0,W1,DEBIN1,W1
 RET
 PEND 
* 
*    SUBROUTINE RDACC, READ ACCUMULATORS
* 
RDACC PROC
 PERF WAIT
 PERF DISU,W3,DEBIN1,SYSBUF 
 BERR RDARET
 COPY BPOOL(PINACC),W0,W188,SYSBUF,W10
 XCOPY RPOOL(PINACC),W9,W2,DEBIN1,W0
RDARET
 PERF COND
 RET
 PEND 
* 
*    SUBROUTINE WRACC, WRITE ACCUMULATORS 
* 
WRACC PROC
 PERF WAIT
 MOVE SYSBUF,=X'414300' 
 COPY SYSBUF,W10,W188,BPOOL(PINACC),W0
 XCOPY DEBIN1,W0,W2,RPOOL(PINACC),W9
 PERF DISU,W4,DEBIN1,SYSBUF 
 PERF COND
 RET
 PEND 
* 
*   SUBR POOL, GET ONE BUFFER, LOCKED 
* 
POOL PROC 
 MOVE DKBIN1,W1 
 MOVE DKBIN2,W1 
 PERF DEPOOL,W2,DKBIN1,DKBIN2,STRG10A 
 RET
 PEND 
* 
* 
READJB PROC 
 MOVE DEBIN4,W3 
REDJCH
 MOVE DEBIN3,DEBIN4 
 PERF DISU,W1,DEBIN3,SYSBUF 
 BERR RETRED
 MOVE DEBIN5,=W'92' 
 COPY STR6A,W0,W6,SYSBUF,DEBIN5 
 CBE STR6A,JOBNAME,RETRED 
 XCOPY DEBIN4,W0,W2,SYSBUF,W4 
 CBNE DEBIN4,W0,REDJCH
 MOVE DEBINW4,W9
RETRED
 PERF COND
 RET
 PEND 
* 

MATCH PROC BUF1,START,END,KEY,STEP
MTCH
 MATCH BUF1,START,W6,KEY,W0,W6
 BNERR MTCHED 
 ADD START,STEP 
 SUB START,W1 
 CBNG START,END,MTCH
 MOVE DEBINW4,W9
MTCHED
 PERF COND
 RET
 PEND 
* 

* 
ENTR PROC ITEM
 XCOPY RBUF,DEBIN2,W2,W0,W0 
 ADD DEBIN2,W2
 COPY RBUF,DEBIN2,W6,ITEM,W0
 ADD DEBIN2,W6
 RET
 PEND 
* 
*  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 
SAVESB PROC		SAVE SYSBUF TO POOL
 MOVE FLIND(W20),DEBINW4
SAVPOO
 PERF POOL
 BNERR SAVOK
 SWITCH 
 B SAVPOO 
SAVOK 
 MOVE FLIND(W21),DKBIN1 
 COPY RPOOL(DKBIN1),W9,W10,SYSBUF,W0
 COPY BPOOL(DKBIN1),W0,W188,SYSBUF,W10
 MOVE DEBINW4,FLIND(W20)
 RET
 PEND 
* 
* 
RESTSB PROC		RESTORE SYSBUF FROM POOL 
 MOVE DKBIN1,FLIND(W21) 
 COPY SYSBUF,W0,W10,RPOOL(DKBIN1),W9
 COPY SYSBUF,W10,W188,BPOOL(DKBIN1),W0
 PERF DEPOOL,W6,DKBIN1,DKBIN1,STRG10A 
 RET
 PEND 
	END

Full view