|
|
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: 14276 (0x37c4)
Notes: pts_type(SC)
Names: »CYK.SC«
└─⟦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«
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