|
|
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: 4994 (0x1382)
Notes: pts_type(SC)
Names: »KKORT.SC«
└─⟦22f4dea89⟧ Bits:30009702 Philips computer tape "DOS_PTS_4.2_M_FL"
└─⟦this⟧ »NJ-AMT/KKORT.SC«
└─⟦dab19bdd7⟧ Bits:30009677 Philips computer tape "600218"
└─⟦this⟧ »NJ-AMT/KKORT.SC«
IDENT KKORT 830504 NJ
DDUM KMD08
PDIV
ENTRY KORT
ENTRY KKCH
*
EXT FRMXSP
EXT FRMTKT
EXT FRMXKT
EXT WRITJT
EXT ABORT
EXT EMPTYT
EXT SPCLRA
EXT SPERR
EXT SPLIN8
EXT GRASPV
EXT CLEAR8
EXT SPCHK5
EXT WRITLO
INCLUDE EQUATE
EJECT
KORT PROC
********************
*
** KORT - PROCEDURE FOR WRITING ON 'KONTOKORT
*
** KASSEFUNCTION OLY (TRANS 1-4, 6, 8-12)
******************
TBF TTEORFLG,KORTNOK NOT CORRECT TRANS
TBT GTREGFLG,KORTNOK MUST NOT BE FIRST TRANS
TBF GTKASSE,KORTNOK ONLY IN KASSEFUNCTIONS(1-12)
CBE GTREGNR,=D'5',KORTNOK NOT TRANS 5
CBE GTREGNR,=D'7',KORTNOK NOT TRANS 7
** ASK FOR OLD SALDO, LINE NO AND LINE CHECKDIGIT
** WRITE 'KONTOKORT' ON JOURNAL
** TRANSPORT LINE IF NEEDED
KORT10
MOVE SPKEY,CBIN1
CLEAR GTSLDFLG
TBF CKTFLAG,KORT12
SET TTKORTFL
KORT12
PERF FRMXSP,CBIN12 SALDO/LINE/CHECK
SET SPPROMPT
PERF SPCLRA WRITE/READ ON SCREEN
CLEAR SPPROMPT
IB SPBINW2,KORTOK,KORTOK,KORT30
KORT20 ERRORKEY
MOVE SPBINW4,=W'4'
PERF SPERR
B KORT10
KORT30 CORRECT ENTERED
TBF CKTFLAG,KORT40 NO SALDO
SET GTSLDFLG
CALL EMPTYT,TTKTSLD GL SALDO PRESENT?
BE KORT40 YES
CLEAR GTSLDFLG NOT PRESENT
TBF CSLDFLG,KORT40 ALLOWED
MOVE SPBINW4,=W'5' NOT ALLOWED
PERF SPERR
B KORT10
KORT40
PERF WRITJT,=W'2' 'KONTOKORT' ON JOURNAL
PERF WRITLO,CBIN2
PERF KKTRP TRANSPORT LINE IF NEEDED
MOVE SPINPUT,TTKTLIN
PERF SPCHK5 GET THE OLD LINE NUMBER
CBG GSWBIN1,=W'89',KORT20
DSC1 KVOUCH,POS,GSWBIN1 POS ON LINE
ADD TTKTSLD,GTDUPF(CBIN4) NEW SALDO
ADD TTKTLIN,=D'1' ADD 1 TO LINE NO
PERF KKCH NEW CHECKDIGIT
PERF FRMTKT
EDWRT KVOUCH,GTSTRFMT
DSC0 .NW,KVOUCH,RLEAS
CLEAR GTLOKSPG
KORTOK
CLEAR TTKORTFL
CMP CBIN0,CBIN0 OK, SET CR=0
RET
KORTNOK
CLEAR TTKORTFL
CMP CBIN1,CBIN0 NOK, SET CR <>0
RET
PEND
EJECT
KKTRP PROC
********************
*
** KKTRP - WRITES KONTOKORT INF ON VOUCHER
** + TRANSPORT IF NECESSARY
*
********************
PERF SPLIN8,CBIN6,CBIN2 WRITE KONTOKORT
TBF GTCYFLG,KON20 IF IN CYCLE
TBF GTCYWRTF,KON20
DSC0 KVOUCH,RLEAS
CLEAR TTTSTFLG
KON20
PERF GRASPV GRASP VOUCHER
PERF CLEAR8
TBF CKTFLAG,KON90
TBF GTSLDFLG,KON90 NO SALDO
CBNE TTKTLIN,=D'27',KON90 TRANSPORT LINE?
PERF FRMXKT,CBIN1 GET TRANSPORT LINE
DSC1 KVOUCH,POS,CMINLIN
EDWRT .NW,KVOUCH,GTSTRFMT EDWRT TRP. LINE
KON30
PERF SPLIN8,CBIN3,CBIN0 'NY SIDE'
WAIT KVOUCH
DSC0 KVOUCH,RLEAS
PERF GRASPV
TESTIO KEYB ANY INPUT?
BOK KON35 YES
CALL ABORT,KEYB NO, ABORT
DSC0 KEYB,SKIB DELETE CYCLIC INPUT BUFFER
MOVE GSWBCD3,CKTTOP SET DEFAULT LINE
MOVE SPINPUT,GSWBCD3
B KON40
KON35
WAIT KEYB
CBE SPBINW2,=W'18',KON40 SLUT KEY
CBNE SPBINW2,=W'4',KON30 ENTER KEY
KON40
MOVE GSWBCD3,SPINPUT GET LINE
MOVE TTKTLIN,GSWBCD3
CBG TTKTLIN,=D'24',KON30 CHECK LINE
CBL TTKTLIN,=D'1',KON30
PERF SPCHK5 CHANGE LINE VALUE
DSC1 KVOUCH,POS,GSWBIN1
PERF FRMXKT,CBIN1
EDWRT KVOUCH,GTSTRFMT
ADD TTKTLIN,=D'1'
KON90
RET
PEND
EJECT
KKCH PROC
********************
*
** KKCH - THIS PROCEDURE COMPUTES A CHECK DIGIT FROM
** AMOUNT (TTKTSLD) AND LINE NR (TTKTLIN) AND
** PUTS IT IN TTKTCHK
** USED FOR KONTOKORT
*
****************
MOVE GSWBCD1,TTKTSLD SAVE
CBNL GSWBCD1,=D'0',KKCH10 NEGATIVE?
MUL GSWBCD1,=D'-1' YES, CHANGE SIGN
KKCH10
MUL GSWBCD1,TTKTLIN MULTIPLY WITH LINE NR
SUB TTKTLIN,=D'1' SUB 1 FROM LINE NR
ADD GSWBCD1,TTKTLIN ADD
ADD TTKTLIN,=D'1' RESTORE LINE NR
MOVE GSWBCD2,GSWBCD1 SAVE
DIV GSWBCD1,=D'7' CALCULATE
MUL GSWBCD1,=D'7' REMAINDER
SUB GSWBCD2,GSWBCD1 MODULUS 7
ADD GSWBCD2,=D'1' ADD 1 ALWAYS
CBL TTKTSLD,=D'0',KKCH20
ADD GSWBCD2,=D'1' ADD 1 IF POSITIVE SALDO
KKCH20
MOVE TTKTCHK,GSWBCD2
RET
PEND
END