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

⟦28181bee3⟧

    Length: 14276 (0x37c4)
    Notes: pts_type(SC)
    Names: »CYK.SC«

Derivation

└─⟦22f4dea89⟧ Bits:30009702 Philips computer tape "DOS_PTS_4.2_M_FL"
    └─⟦this⟧ »NJ-AMT/CYK.SC« 
└─⟦dab19bdd7⟧ Bits:30009677 Philips computer tape "600218"
    └─⟦this⟧ »NJ-AMT/CYK.SC« 

PTS(SC)

 IDENT CYK 831031 EV
         DDUM    KMD08
         PDIV 
 ENTRY CYK
 ENTRY CYCLR
 ENTRY CYOUT
 ENTRY CYWRT
 ENTRY CYTRP



 EXT SUBTOT 
 EXT CLRSW
	EXT	FRMXSP 
	EXT	FRMXVO 
	EXT	WRITJT 
         EXT     WCHECK 
	EXT	LINOPT 
         EXT     SPCLRA 
 EXT SPCLRN 
         EXT     SPERR
	EXT	SPINF1 
	EXT	SPCHK5 
 EXT WRITLO 
 EXT ABORT
 EXT RAWRIT 
 EXT RAREAD 
 EXT SPLIN8 
 EXT CLEAR8 
 EXT GRASPV 
 EXT CRVO 
 EXT WAITF


         INCLUDE EQUATE 
 EJECT
CYLINE PROC 
********************
* 
*          WRITE ONE LINE TO CYCLE DATASET
* 
*          ON ENTRY     DATA IN SEPARATE FIELDS 
* 
*          ON EXIT      CR= OK  DATA WRITTEN TO CYSET 
*                       CR=NOK  DATA NOT WRITTEN TO CYSET 
*                       E.G. ERROR ON DISK
*                            DATASET FULL 
*                            WAITED TOO LONG FOR BUFFER 
* 
********************
 MOVE GSWBIN1,CCYSIZE 
 MUL GSWBIN1,GTUWB
 CBNL GTCYOUT,GSWBIN1,CYLINNOK
 MOVE GSWBIN1,=W'32'
CYLIN000
 TBF CCYPFLG,CYLIN010 WAIT FOR BUFFER 
 DELAY CBIN2
 SUB GSWBIN1,CBIN2
 CBL GSWBIN1,CBIN0,CYLINNOK 
 B CYLIN000 
* 
CYLIN010
 SET CCYPFLG RESERVE BUFFER 
 MOVE CCYBUF,=X'00' CLEAR BUFFER
 EDIT CCYBUF,GTSTRFMT 
 PERF RAWRIT,DK03,=D'3',CCYBUF,GTCYOUT
 BNOK CYLIN100
 ADD GTCYOUT,CBIN1
 CLEAR CCYPFLG RELEASE BUFFER 
 CMP CBIN0,CBIN0
 RET
* 
CYLIN100
 CLEAR CCYPFLG RELEASE BUFFER 
CYLINNOK
 CMP CBIN1,CBIN0
 RET
 PEND 
 EJECT
CYOUT PROC P
********************
* 
*          WRITE OUT THE WHOLE CONTENT OF CYSET 
*          (LESS THAN ONE PAGE) 
* 
********************
 TBT GTCYWRTF,CYOUT050
 TBT TTTSTFLG,CYOUT005
 SET TTTSTFLG 
 PERF SPLIN8,CBIN5,CBIN2
 PERF GRASPV
 PERF CLEAR8
 CBNE P,CBIN1,CYOUT005
 DSC0 KEYB,SKIB SKIP CIRCUL. BUFFER 
CYOUT005
 MOVE TTLINNR,TTCYKPOS
 TBF GTCYTRPF,CYOUT010
 SUB GTCYOUT,CBIN1 ADJUST FOR TRP LINE, -TOTAL
CYOUT010
 MOVE GSWBIN1,TTLINNR 
 DSC1 KVOUCH,POS,GSWBIN1
 CBNL GTCYIN,GTCYOUT,CYOUT050 
 PERF CYRD
 SUB TTLINNR,=D'2'
 WAIT KVOUCH
 B CYOUT010 
* 
CYOUT050
 RET
 PEND 
 EJECT
CYWRT PROC
********************
* 
*          WRITE A LINE ON CYCLE DATASET
*          IN NOK  EMPTY THE CYCLE DATASET TO VOUCHER 
*                  AND WRITE LINE TO VOUCHER
* 
********************
 PERF CYLINE WRITE LINE TO CYSET
 BNOK CYWRT100
 SUB TTLINNR,=D'2'
 CBL TTLINNR,=D'4',CYWRT010 IF PAGE FULL
 CMP CBIN0,CBIN0 OK 
 RET
* 
CYWRT010
 MOVE GSWSTR9,=C'TRP ' NEW PAGE 
 PERF FRMXVO,CBIN2
 PERF CYLINE
 SET GTCYTRPF INITIATE PRINT
 PERF CYTRP 
 CMP CBIN0,CBIN0 OK 
 RET
* 
CYWRT100
 CLEAR TTTSTFLG ASK FOR BILAG 
 PERF CYOUT,CBIN1 
 SET GTCYWRTF 
 CMP CBIN1,CBIN0
 RET
 PEND 
 EJECT
CYRD PROC 
********************
*          READ ONE LINE FROM CYCLE DATASET AND 
*          WRITE IT TO VOUCHER
*          VOUCHER SHOULD BE POSITIONED BEFORE PRINT
********************
CYRD000 
 PERF WAITF,CCYPFLG 
 MOVE GSWBIN1,=W'128' SET LENGTH
 PERF RAREAD,DK03,=D'3',CCYBUF,GSWBIN1,GTCYIN 
 BNOK CYRDNOK 
 EDWRT .NW,KVOUCH,CYEDT 
 CLEAR CCYPFLG
 B CYRD100
CYRDNOK 
 ADD GTCYIN,CBIN1 
 CLEAR CCYPFLG
 PERF CRVO
 CMP CBIN1,CBIN0 NOK
 RET
CYRD100 
 WAIT KVOUCH
 PERF CRVO
 ADD GTCYIN,CBIN1 
 CMP CBIN0,CBIN0 OK 
 RET
 PEND 
CYEDT FRMT
 FCOPY CCYBUF 
 FMEND
 EJECT
CYTRP PROC
********************
* 
*          PRINT A WHOLE PAGE 
* 
*          AND WRITE TRANSPORT LINE FIRST ON CYSET
* 
********************
 TBF GTCYTRPF,CYTRP200
 TBT GTCYWRTF,CYTRP100 T=ALREADY WRITTEN
 CLEAR GTCYTRPF 
 CLEAR TTTSTFLG 
 PERF CYOUT,CBIN0 
 WAIT KVOUCH
 DSC0 .NW,KVOUCH,RLEAS
 CLEAR TTTSTFLG 
CYTRP010
 MOVE TTLINNR,TTCYKST 
 MOVE TTCYKPOS,TTLINNR
 MOVE GTCYIN,GTUWB
 SUB GTCYIN,CBIN1 
 MUL GTCYIN,CCYSIZE 
 ADD GTCYIN,CBIN1 
 MOVE GTCYOUT,GTCYIN
 MOVE GSWSTR9,=C'TRP '
 PERF FRMXVO,CBIN2
 PERF CYLINE
 BNOK CYTRP100
 B CYTRP150 
* 
CYTRP100
 CLEAR GTCYTRPF 
 SET GTCYWRTF 
 PERF SPLIN8,CBIN3,CBIN2 ASK FOR 'NY SIDE'
 PERF GRASPV GRASP
 MOVE TTCYKPOS,TTCYKST
 MOVE TTLINNR,TTCYKST POSITION VOUCHER
 MOVE GSWBIN1,TTLINNR 
 DSC1 KVOUCH,POS,GSWBIN1
 MOVE GSWSTR9,=C'TRP ' SET UP TRANSPORT LINE
 PERF FRMXVO,CBIN2
 EDWRT KVOUCH,GTSTRFMT WRITE TRP LINE 
* 
CYTRP150
 SUB TTLINNR,=D'2'
CYTRP200
 RET
 PEND 
 EJECT

CYK PROC CYTYPE 
********************
* 
*          HANDLE DIFFERENT TYPES OF CYCLES 
* 
********************
 IB CYTYPE,		C
		CYK1,		C
		CYK2,		C
		CYKNOK,		C
		CYK4,		C
		CYK5,		C
		CYKNOK,CYKNOK,CYKNOK,CYK9,CYEND 
 B CYKNOK 


CYK1
********************
* 
**          CYK1 - START OF CYCLE FUNCTION
* 
********************
	TBT	TTLSTFLG,CYK1NOK	IN LISTE
	TBT	TTCY2FLG,CYK1NOK	IN CYCLE 2
 TBT TTCY5FLG,CYK1NOK 
 SET TTCY0FLG 
	SET	TTCY1FLG 
 MOVE TTCYM,=C'C' FOR JOURNAL 
 MOVE GTTEXT,=C'CYKLE ' FOR SCREEN
	PERF	CYKINT
 B CYKOK
CYK1NOK 
 B CYKNOK 


CYK2
********************
* 
**         CYK2 - START OF STABEL FUNCTION
* 
********************
	TBT	TTLSTFLG,CYK2NOK	IN LISTE
	TBT	TTCY1FLG,CYK2NOK	IN CYCLE 1
 TBT TTCY5FLG,CYK2NOK 
 SET TTCY0FLG 
	SET	TTCY2FLG 
 MOVE TTCYM,=C'S' FOR JOURNAL 
 MOVE GTTEXT,=C'STABEL' FOR SCREEN
	PERF	CYKINT
 B CYKOK
CYK2NOK 
 B CYKNOK 


CYK4
********************
* 
*          CYK4 - PAUSE IN CYCLE / STABEL 
* 
********************
 TBF GTCYFLG,CYK4NOK
 TBT GTCYWRTF,CYKSUB
	MOVE	TTARKSAV,GTDUPF(CBIN9)	SAVE ARKIV KNT NR
         SET     TTPSEFLG                  INDICATE BREAK 
 MOVE GTCYSUM,GTSUM 
 MOVE GTPSELIN,TTLINNR
 PERF CYCLR 
 ERASE 0,CBIN8,CBIN8 ERASE LINE 8 
 PERF SPINF1
 B CYKOK
CYK4NOK 
 B CYKNOK 
CYKSUB
 PERF SUBTOT
 B CYKOK


CYK5
********************
* 
*        CYK5 - VIBORG ONLY 
* 
********************
* TRANS 8-9 
* MOST FIELDS AUTODUPPED
* NOT DUPPED: 
*     REGKONTONR
*     BELOB 
*     CPR/CIRNR 
* 
 TBF CCYK5,CYK5NOK
 CBL GTREGDEX,CBIN8,CYK5NOK 
 CBG GTREGDEX,CBIN9,CYK5NOK 
 TBT TTLSTFLG,CYK5NOK LISTE?
 TBT TTCY2FLG,CYK5NOK 
 TBT TTCY5FLG,CYK510
 TBT TTCY1FLG,CYK5NOK 
CYK510
 SET TTCY0FLG 
 SET TTCY1FLG 
 SET TTCY5FLG 
 PERF CLRSW 
 MOVE TTCYM,=C'C' 
 MOVE GTTEXT,=C'CYK 5 ' 
 PERF CYKINT
 B CYKOK
CYK5NOK 
 B CYKNOK 



CYK9
********************
* 
**         CYK9 - CLEAR ARKIV KONTO NR
* 
********************
 TBT TTCY1FLG,CYK9A 
 TBT TTCY5FLG,CYK9A 
 B CYK9NOK
CYK9A 
	MOVE	TTARKSAV,=D'0'	CLEAR NUMBER 
 B CYKOK
CYK9NOK 
 B CYKNOK 


CYEND 
********************
* 
**          CYEND - END OF CYCLE
* 
**       WRITE TOTAL LINE ON VOUCHER
* 
********************
	TBF	GTCYFLG,CYENDNOK	ONLY IF IN CYCLE
	TBT	TTCY2FLG,CYEND10 
	CBNE	GTSUM,=D'0',CYEND30	SUM CORRECT? (ONLY CY1) 
CYEND10 
         CLEAR   TTSUMFLG                  CLEAR FLAGS
         CLEAR   GTCYFLG
 TBF TTCYTRFL,CYEND20 
 PERF CYOUT,CBIN0 
         CLEAR   TTTSTFLG 
	WAIT	KVOUCH
	MOVE	GSWBIN1,TTLINNR 
	DSC1	KVOUCH,POS,GSWBIN1	POSITION VOUCHER 
 MOVE GSWSTR9,=C'TOTAL   '
	PERF	FRMXVO,CBIN2	GET TOTAL FORMAT 
	EDWRT	KVOUCH,GTSTRFMT	EDWRT ON VOUCHER 
         DSC0    KVOUCH,RLEAS                RELEASE VOUCHER
 TBF TSPOOL,CYEND14 
 TBT CSPOOL,CYEND15 
CYEND14 
 PERF WRITJT,=W'15' 
CYEND15 
 MOVE GSWBIN1,=W'26'
 PERF WRITLO,GSWBIN1
         CBL     GTREGNR,=D'18',CYEND20    CHECKS?
         SET     TTTSTFLG 
         MOVE    GTREGF(CBIN4),GTSUM       FIND TOTAL VALUE 
         PERF    WCHECK                    WRITE CHECK
CYEND20 
 CLEAR TTTSTFLG 
 PERF CLRSW 
 CLEAR TTCY0FLG 
 CLEAR TTCY5FLG 
	CLEAR	TTCY1FLG 
         CLEAR   TTCY2FLG 
	PERF	CYCLR 
	B	CYENDOK
CYEND30 
         MOVE    SPBINW4,=W'12'             SET ERRORCODE 
         PERF    SPERR
	IB	SPBINW2,CYENDCNT,CYEND10
CYENDOK 
 MOVE GSWBIN1,=W'24'
 ERASE 0,GSWBIN1,GSWBIN1 LINE 24
	ERASE	0,CBIN8,CBIN8	ERASE LINE 8 
	PERF	SPINF1
CYENDCNT
CYKOK 
 CMP CBIN0,CBIN0 OK 
 RET
CYENDNOK
CYKNOK
 CMP CBIN1,CBIN0 NOK
 RET
 PEND 


CYKINT   PROC 
********************
* 
**          CYKINT - START OR END OF CYCLE
* 
**       START   SET RELEVANT INFORMATION AND READ
**               ARKIV KNT.NR, KONTROLSUM AND LRER-9
* 
**       END     CLEAR RELEVANT INFORMATION 
* 
********************
	TBF	GTCYFLG,CY10	TRUE- ALREADY IN CYCLE
         TBT     TTPSEFLG,CY05            TRUE- IN PAUSE STATE
 PERF CYK,CBIN10
	RET
CY05
	PERF	CYCLR 
	RET
CY10
	SET	TTSUMFLG	INDICATE SUM ON SCREEN
	SET	GTCYFLG	INDICATE CYCLE 
         TBF     TTPSEFLG,CY30             TRUE- PAUSE STATE
         MOVE    GTSUM,GTCYSUM             GET SAVED SUM
         MOVE    GTREGF(CBIN9),TTARKSAV    GET SAVED ARKIV KNT.NR 
 CBG GTPSELIN,CBIN0,CY20
 MOVE GTPSELIN,TTCYKST RESET START LINE 
 MOVE TTCYKPOS,TTCYKST
CY20
	MOVE	TTLINNR,GTPSELIN
         CLEAR   TTPSEFLG                  OUT OF PAUSE STATE 
 B CY90 
CY30
	MOVE	GTREGF(CBIN9),=D'0'	INITIATE VALUES 
	MOVE	GSWBCD6,=D'0' 
         MOVE    GTSUM,=D'0'
	MOVE	TTCYKTOT,=D'0'
 CLEAR TTCYTRFL 
 MOVE TTCYKST,=D'1' START LINE NEW PAGE 
         MOVE    TTLINNR,=D'1'
         PERF    FRMXSP,CBIN11              GET FORMAT FOR CYCLE INF
         SET SPPROMPT 
         PERF    SPCLRN                    WRITE AND READ ON SCREEN 
         CLEAR SPPROMPT 
         IB      SPBINW2,CY45,CY45,CY50 
	MOVE	SPBINW4,=W'4' 
         PERF    SPERR
         B       CY30 
CY45			MAK
	CLEAR	TTCY1FLG 
	CLEAR	TTCY2FLG 
 CLEAR TTCY5FLG 
	B	CY05 
CY50
 CBL TTCYKST,=D'25',CY54
 MOVE TTCYKST,=D'1' 
CY54
 MOVE SPINPUT,TTCYKST 
 PERF SPCHK5
 MOVE TTCYKST,GSWBIN1 
	CBL	TTLINNR,=D'27',CY55
	MOVE	TTLINNR,=D'1' 
CY55
	MOVE	SPINPUT,TTLINNR 
	PERF	SPCHK5
	MOVE	TTLINNR,GSWBIN1	FIND LINNE NUMBER 
	MOVE	GTSUM,GSWBCD6 
	MOVE	TTARKSAV,GTREGF(CBIN9)
 MOVE TTCYKPOS,TTLINNR
 MOVE GTCYIN,GTUWB
 SUB GTCYIN,CBIN1 
 MUL GTCYIN,CCYSIZE 
 ADD GTCYIN,CBIN1 
 MOVE GTCYOUT,GTCYIN
CY90
 CLEAR TTTSTFLG 
 SET GTCYWRTF 
 TBT CCYWRTF,CY95 
 CLEAR GTCYWRTF 
CY95
         RET
         PEND 
	 
CYCLR	PROC
******************* 
* 
**         CYCLR - CLEAR CYCLEINFORMATION 
* 
******************
         MOVE    GTTEXT,=C' ' 
         MOVE    TTCYM,=C' '
         MOVE    GTREGF(CBIN9),=D'0'
         MOVE    GTSUM,=D'0'
         CLEAR   GTCYFLG
         CLEAR   TTSUMFLG 
	CLEAR	TTTSTFLG 
 CLEAR GTCYTRPF 
	DSC0	KVOUCH,RLEAS	RELEASE VOUCHER
	RET
         PEND 
         END

Full view