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

⟦093741ad6⟧

    Length: 10588 (0x295c)
    Notes: pts_type(SC)
    Names: »DE1201.SC«

Derivation

└─⟦48601905a⟧ Bits:30009668 Philips computer tape "600121"
    └─⟦this⟧ »S:DE/DE1201.SC« 
└─⟦5c22ed822⟧ Bits:30009675 Philips computer tape "600209"
    └─⟦this⟧ »DEN10/DE1201.SC« 
└─⟦79fbed147⟧ Bits:30009697 Philips computer tape "600414"
    └─⟦this⟧ »S:DE/DE1201.SC« 
└─⟦bf903a231⟧ Bits:30009665 Philips computer tape "600109"
    └─⟦this⟧ »DEN10/DE1201.SC« 
└─⟦d2a299635⟧ Bits:30009698 Philips computer tape "600415"
    └─⟦this⟧ »S:DE/DE1201.SC« 

PTS(SC)

	IDENT	DE1201	REL 10.0 80-04-11 
			80-02-13/DALI
********************************************* 
*  BOOL1 : T=GET V-S       F=CREATE V-S     * 
*  BOOL2 : T=LINE 1-2      F=LINE 1-3       * 
*  BOOL3 : T=LINE 1-5      F=LINE 1-3       * 
********************************************* 
*  BIN1  WORKITEM                   * 
*  BIN2  NO. OF ELEM.IN THIS RECORD * 
*  BIN3  SIZE OF ELEMENT            * 
*  BIN4  FIRST EL.NO. IN RECORD     * 
*  BIN5  LAST      - " -            * 
*  BIN6  ELMNO - BIN4 + W1          * 
*  BIN7  = 0                        * 
*  BIN8  FC-DEDISC                  * 
*  BIN10 X'8000' / X'B000' ,A/N     * 
************************************* 
 DDUM DEDDIV
 PDIV 
	ENTRY	ENT12
* 
 EXT FMOVE
 EXT DERR 
 EXT CANC11 
 EXT CANC12 
 EXT ATTWB
 EXT ATTDB
 EXT DECLRN 
 EXT DEPOOL 
 EXT DERROR 
 EXT DEDISC 
 EXT TESTB
	EXT	CLEARB 
	EXT	RESTOR 
	EXT	WRIT12 
	EXT	A20
 INCLUDE DEKEYS,LIST
* 
DEKTAB6	KTAB	CLR,CAN,RET
* 
DEKTAB9	KTAB	CLR,CAN,RET,ENT
* 
	EJECT
ENT12 
	TBF	BOOL1,E1	IF CREATE 
	B	GET
E1
	MOVE	ELMNO,W1
********************************* 
*  MODUL 12 - CREATE VALUE-SET  * 
********************************* 
	PERF	DEDISC,W24	GET VALUE-SETS 
	BNOK	E8
	PERF	DEPOOL,W6,PINDTB,BIN7,STRG10A	RELEASE BUFFER
	MOVE	DEBINW4,W8	'ALREADY DEFINED'
E2
	MOVE	DEBINW1,W0
	PERF	DERROR,DEKTAB6
	SUB	DEBINW2,W1 
	CALL	RESTOR,W3,W4,PWBDB4	RESTORE ORIG. DESCR.-POINTERS 
	B	A20
E8
	CBE	DEBINW4,W9,E10	NOT FOUND 
	B	E2 
E10			GET BUFFER
	MOVE	PINDTB,W1	1 BUFFER
	MOVE	BIN7,W0	NO CONSECUTIVE BUFFERS
	MOVE	STRG10A,=X'545400'	T(ABLE)
	COPY	STRG10A,W2,W2,DEINPUT,W0	VALUE-SET-NAME 
	PERF	DEPOOL,W2,PINDTB,BIN7,STRG10A	GET BUFFER WITH LOCK
	BNOK	ERR99 
	PERF	DEPOOL,W4,PINDTB,BIN7,STRG10A	SET BUFFER
 MOVE BPOOL(PINDTB),HEX00 
	CLEAR	BOOL3
	CLEAR	BOOL2	LINE 1-3 
	ERASE	3,W2,W0	FKI + FINP 
	SET	DEPROMPT 
	PERF	DECLRN
E16 
	IB	DEBINW2,CANC12,CANC12,E20 
	MOVE	DEBINW4,W0	'BELL' 
	PERF	DERR
	B	E16
E20 
	MOVE	BIN4,W1	1:ST EL.NO. IN REC. 
	MOVE	BIN2,=W'180'
 MOVE STR1A,STR2A 
	CBE	STR1A,=C'N',E24
	DIV	BIN2,BIN3	NO.OF ELEM. IN REC.
*  DESCRIPTOR 
	MOVE	BIN10,=X'8000'	IF STRING='1000' 
	ADD	BIN10,BIN3 
	B	E30
E24			NUMERIC 
	MOVE	BIN10,=X'B000'	IF BCD   ='1011' 
	MOVE	BIN1,BIN3	NUMERIC INPUT 
	DIV	BIN1,W2
	ADD	BIN1,W1	BYTES
	ADD	BIN10,BIN1 
	DIV	BIN2,BIN1	NO. OF ELEM. IN REC. 
E30 
	MOVE	BIN5,BIN2	LAST EL.NO. IN REC. 
	XCOPY	BPOOL(PINDTB),W0,W2,BIN10,W0	SIZE IN BYTES 
	XCOPY	BPOOL(PINDTB),W4,W2,BIN2,W0	NO. OF ELEMENTS
	SET	BOOL3	LINE 1-5 
*  MODIFY FORMAT
	CALL	FMOVE,STR64A,FORMA
	CALL	TESTB,BIN10,W2
	BZ	E32 
	CALL	FMOVE,STR64A,FORMN
E32 
	XCOPY	STR64A,W3,W1,BIN3,W1	SIZE
	MOVE	ELMNO,W1
	MOVE	BIN6,W1	INDEX 
	B	E36
*  ENTER ELEMENT
E35 
	ADD	ELMNO,W1 
E36 
	CBG	ELMNO,=W'99',E60	LAST ELEMENT ENTERED
	CBNG	ELMNO,BIN5,E37
	PERF	WRIT12	RECORD FILLED
	BNOK	ERR99 
E37 
	CALL	ATTWB,BPOOL(PINDTB),W8,W11
	CALL	ATTDB,BPOOL(PINDTB),W0,W11
	MOVE	ACK(W1),ELMNO 
	MOVE	BIN6,ELMNO	INDEX
	SUB	BIN6,BIN4
	ADD	BIN6,W1
	DISPLAY	3,W4,W4	FIELD 4
	MOVE	BIN11,W5
	GETFLD	2,BIN11,BIN1	FIELD 5
 ERASE 3,W5,W5 CLEAR IN MEMORY
	ERASE	0,W5,W5
E42 
	PERF	DECLRN
E45 
	IB	DEBINW2,CANC12,CANC12,E35,E56,E56,E56,E56,E60 
E56 
	MOVE	DEBINW4,W0	'BELL' 
	PERF	DERR
	IB	DEBINW2,E42,CANC12
	B	E45
E60 
	CBE	ELMNO,BIN4,E70	=1:ST EL.NO. IN REC.
	PERF	WRIT12	LAST WRIT12/V-S. 
	BNOK	ERR99 
E70 
	MOVE	DEBINW2,W3	ENT-KEY
	B	CANC12 
	EJECT
******************************* 
*  MODUL 13 - GET VALUE-SETS  * 
******************************* 
GET 
	SET	BOOL2
	MOVE	ELMNO,W1
	PERF	READ12,W24	GET VALUE-SETS 
	BERR	ERR99 
	SET	DEPROMPT 
	B	B40
FORW
	ADD	ELMNO,W1 
	CBE	BIN6,BIN2,B20	NEW RECORD 
	CBG	ELMNO,BIN5,B80	>LAST EL.NO. IN REC.
	B	B50
BACKW 
	SUB	ELMNO,W1 
	CBL	ELMNO,W1,B10 
	CBL	ELMNO,BIN4,B20	< 1:ST EL.NO. IN REC. 
	B	B50
B10 
	MOVE	ELMNO,W1	BACKW NOT LESS 1 
	B	B50
B20 
	PERF	READ12,W24	GET VALUE-SET
	BOK	B40
	CBE	DEBINW4,W9,B80	'NOT FOUND' 
	B	C75
B40 
	CALL	ATTWB,BPOOL(PINDTB),W8,W11
	CALL	ATTDB,BPOOL(PINDTB),W0,W11
B50 
	CLEAR	BOOL2	LINE 1-3 
	SET	BOOL3	LINE 1-5 
	MOVE	BIN6,ELMNO	INDEX
	SUB	BIN6,BIN4
	ADD	BIN6,W1
	MOVE	ACK(W1),ELMNO 
	ERASE	0,W5,W5	LINE 5 
	TBT	DEPROMPT,B55 
	DISPLAY	3,W4,W5
B55 
	SET	DENOCHAN 
	PERF	DECLRN
B60 
	IB	DEBINW2,CANC12,CANC12,B20,FORW,BACKW,CORR,CORR		C 
		CANC11,CANC11,INS 
	MOVE	DEBINW4,W0	'BELL' 
	B	B84
B80 
	MOVE	DEBINW4,W9	'NOT FOUND'
	SUB	ELMNO,W1 
	SET	DENOCHAN 
B84 
	PERF	DERR
	B	B60
* 
*         INSERT NEW ELEMENT
INS 
			AFTER LAST ELEMENT 
	MOVE	ELMNO,W1
I10 
	PERF	READ12,W24	GET VALUE-SET
	BNOK	I20 
	MOVE	ELMNO,BIN5	LAST EL.NO. IN REC.
	ADD	ELMNO,W1 
	B	I10
I20 
	SUB	ELMNO,W1 
	PERF	READ12,W24	GET VALUE-SET
	MOVE	BIN1,BIN4 
	ADD	BIN1,BIN2
	SUB	BIN1,W1
	CBE	ELMNO,BIN1,I30 
	MOVE	BIN5,BIN1 
	PERF	DEPOOL,W8,PINDTB,BIN7,STRG10A	LOCK BUFFER 
	BNOK	ERR99 
	B	E35
I30			NEW RECORD
	MOVE	BIN4,ELMNO
	MOVE	BIN5,ELMNO
	ADD	BIN4,W1
	ADD	BIN5,BIN2
	MOVE	BIN1,PINDTB 
	PERF	DEPOOL,W6,PINDTB,BIN7,STRG10A	RELEASE BUFFER
	MOVE	PINDTB,W1	1 BUFFER
	MOVE	BIN7,W0	NO CONSECUTIVE BUFFERS
	MOVE	STRG10A,=X'5400'	T(ABLE)
	COPY	STRG10A,W1,W3,TABLE,W0
 MOVE DEINPUT,STR64A
	PERF	DEPOOL,W2,PINDTB,BIN7,STRG10A	GET BUFFER WITH LOCK
 MOVE STR64A,DEINPUT
	BNOK	ERR99 
	PERF	DEPOOL,W4,PINDTB,BIN7,STRG10A	SET BUFFER
	MOVE	BPOOL(PINDTB),BPOOL(BIN1) 
	CALL	ATTWB,BPOOL(PINDTB),W8,W11
	B	E35
ERR13 
	MOVE	DEBINW4,W13	'NO WORKSPACE'
ERR99 
	MOVE	DEBINW1,W0
	PERF	DERROR,DEKTAB6
ERA20			RET AT DELETION 
	SUB	DEBINW2,W1 
	B	A20
	EJECT
CORR
	CBE	DEBINW2,W6,C70	IF CORRECTION 
* 
*  DELETION 
* 
	PERF	DEPOOL,W4,PINDTB,BIN7,STRG10A	SET BUFFER
C40 
	MOVE	DEBINW4,W17	'PRESS ENT FOR DELETION'
	PERF	DERROR,DEKTAB9
	SUB	DEBINW2,W1	ADJUST
	IB	DEBINW2,B50,ERA20,C50	CAN,RET,ENT 
	B	B50	CLR-KEY
C50 
 MOVE ELMNO,W0
C55 
	PERF	DEPOOL,W8,PINDTB,BIN7,STRG10A	LOCK BUFFER 
 BNOK C75 
	PERF	DEPOOL,W6,PINDTB,BIN7,STRG10A	RELEASE BUFFER
	PERF	DEPOOL,W5,PINDTB,BIN7,STRG10A	SEARCH BUFFER 
 BOK C55
 MOVE BIN8,=W'25' 
	PERF	DEDISC,BIN8	DELETE VALUE0SET
	BOK	CANC12	CANC-KEY
C75 
	SET	DENOCHAN	NO CHANGES POSSIBLE 
	MOVE	DEBINW1,W0
	PERF	DERR
	B	B60
C70 
********************* 
*  CORR. VALUE-SET  * 
********************* 
	PERF	DEPOOL,W8,PINDTB,BIN7,STRG10A	LOCK BUFFER 
	BNOK	C75 
	PERF	DECLRN
C711
	IB	DEBINW2,CANC12,CANC12,C72 
	MOVE	DEBINW4,W0
	PERF	DERR
	B	C711 
C72 
	MOVE	BIN8,=W'26' 
	PERF	DEDISC,BIN8	ENTER VALUE-SETS
	BNOK	C75 
	GETFLD	2,W5,BIN1 
	CALL	CLEARB,RPOOL(PINDTB),W0	UNLOCK BUFFER 
	B	B50
	EJECT
READ12	PROC	FC
 MOVE DEINPUT,STR64A
	PERF	DEDISC,FC 
 MOVE STR64A,DEINPUT
	BERR	R10 
	MOVE	BIN3,W0 
	XCOPY	BIN3,W1,W1,BPOOL(PINDTB),W1	SIZE OF ELEMENT IN BYTES 
	CALL	FMOVE,STR64A,FORMA	MODIFY FORMAT
	XCOPY	BIN10,W0,W2,BPOOL(PINDTB),W0	DESCRIPTOR
	MOVE	STR2A,=X'4100'
	CALL	TESTB,BIN10,W2
	BZ	R05 
	MOVE	STR2A,=X'4E00' C'N' 
	CALL	FMOVE,STR64A,FORMN
	MUL	BIN3,W2
	SUB	BIN3,W1
R05 
	XCOPY	STR64A,W3,W1,BIN3,W1	SIZE
	MOVE	TIME,BIN3 
	XCOPY	BIN2,W0,W2,BPOOL(PINDTB),W4	NO.OF ELEM.IN THIS REC.
	MOVE	BIN4,W0 
	MOVE	BIN5,W0 
	XCOPY	BIN4,W1,W1,RPOOL(PINDTB),W17	1:ST ELEM. IN REC.
	XCOPY	BIN5,W1,W1,RPOOL(PINDTB),W18	LAST ELEM. IN REC.
	CMP	W1,W1	SET S=0
R10 
	RET
	PEND 
	EJECT
* 
FORMN	FRMT
	FKI	1,NUM,MINL=1,MAXL=1,REWRT,SCHK=1 
	FMEL	'XXXXXXXXXXXXXXXXXXXXX-',FDVBCD(BIN6) 
	FNL
	FKI	1,MINL=0,MAXL=0
	FCOPY	HEX00
	FMEND
* 
FORMA	FRMT
*	FKI	1,ALPHA,MINL=1,MAXL=1,NEOI,ME 
*	FCOPY	FDVBCD(BIN6)
	FCTL	X'F0',1,X'C1',X'01',X'00',X'C0',FDVBCD(BIN6)
	FNL
	FKI	1,MINL=0,MAXL=0
	FCOPY	HEX00
	FMEND
 END

Full view