|
|
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: 6452 (0x1934)
Notes: pts_type(SC)
Names: »TNDPAY.SC«
└─⟦f350e1b7a⟧ Bits:30009678 Philips computer tape "600219"
└─⟦this⟧ »PTSDEMO/TNDPAY.SC«
IDENT TNDPAY REL=9.2 VER=ND 80-004-14 UPD 3 80-04-14 / BORO TND BLOCKED TEST CHANGED & TND RELEASED AFTER REPORT UPD 2 80-02-07 / BORO REPEAT LAST DISPENSE UPD 1 80-02-05 / BORO ADD SEPARATE DELIVER FUNCTION * * NAME: TNDPAY * * PURPOSE: DISPENSE MONEY IN MAX SIZE BUNDLES WHEN TND * OPEN-NORMALLY USED FOR BANK TRANSACTIONS * * CALL: PERF TNDPAY,AMT,TND,TNDWB1,TNDWB2,TNDWB3,TNDWD1,TNDWS1,TNDBUF * RET 0 UNABLE TO PAY * RET 2 PART PAID,CASS. EMPTY OR ERROR * RET 4 TOTAL REQUESTED AMOUNT PAID * * PARAMETERS: * IN: TND-TND DATA SET, INDICATING TELLER TO PAY * TNDWB1 BIN WORK REGISTER * TNDWB2 " * TNDWB3 " * TNDWD1 BCD WORK REGISTER, MINIMUM 7 CHAR PLUS SIGN CHAR * TNDWS1 STRG WORK REGISTER, MINIMUM 5 CHAR * TNDBUF STRG I/O BUFFER, MINIMUM 40 CHAR * OUT: AMT-BCD ELEMENT, UPDATED BY ADDING THE AMOUNT DELIVERED * * VARIABLES * IN: TNDREG(X)-BCD ARRAY, EACH ELEMENT REPRESENTING A CASSETTE * AND CONTAINING NUMBER OF NOTES TO DELIVER * TNDBAD * TNDRCF * TNDREPA * TNDOPF * TNDBLK * CASMAX * MAXOUT * SCRATCH TNDWB1 * TNDWB2 * TNDWD1 * DELAMT * TNDWB3 * TNDST * NDDATA1(KW2,X) * CASEMP * PAYOK * DDUM DEMODD PDIV ENTRY TNDPAY EXPROC IOTND TND I/O SUBROUTINE EXPROC TNDREM CALC. AMT LEFT IN CASSETTE EXPROC NDERR REPORT TO APPL CASSETTE EMPTY EJECT TNDPAY PROC AMT, C TND, C TNDWB1, C TNDWB2, C TNDWB3, C TNDWD1, C TNDWS1, C TNDBUF PBCD AMT PDSET TND PBIN TNDWB1 PBIN TNDWB2 PBIN TNDWB3 PBCD TNDWD1 PSTRG TNDWS1 PSTRG TNDBUF TBT TNDBAD,TNDP00 RET. IF TND BAD TBT TNDRCF,TNDP00 RET. IF REJECT CASS FULL TBT TNDBLK,TNDP00 RET. IF TNDADM FUNC. RUNNING TBT TNDOPF,TNDP10 RET. IF CLOSED TNDP00 RET TND BLOCKED FROM DISPENSE * * DISPENSING ALLOWED, INITIALIZE * TNDP10 CLEAR PAYOK CLEAR CASEMP * * SET UP FOR DISPENSE * TNDP20 MOVE TNDWB3,MAXOUT MOVE DELAMT,KW0 MOVE TNDWB1,KW0 * * TEST IF LOOPED THROUGH CASSETTES * TNDP25 ADD TNDWB1,KW1 CBG TNDWB1,CASMAX,TNDP45 MOVE NDDATA1(KW2,TNDWB1),KW0 * * TEST IF DISPENSE REQUESTED FOR THIS CASSETTE * SUB TNDREG(TNDWB1),='0' BZ TNDP25 * * TEST IF DISPENSE ALLOWED FROPM THIS CASSETTE SUB NDDATA2(KW2,TNDWB1),='0' BNZ TNDP30 SET CASEMP B TNDP25 * * DETERMINE NOTES TO DISPENSE FROM THIS CASSETTE, THIS TIME * TNDP30 MOVE NDDATA1(KW2,TNDWB1),TNDWB3 MOVE TNDWB2,TNDREG(TNDWB1) CBG TNDWB2,TNDWB3,TNDP35 BRANCH IF TOO MUCH MOVE NDDATA1(KW2,TNDWB1),TNDREG(TNDWB1) * * TEST IF ENOUGH LEFT IN CASSETTE * TNDP35 PERF TNDREM,TNDWB1,TNDWD1 CALC. NOTES LEFT IN CASS. SUB TNDWD1,NDDATA1(KW2,TNDWB1) BNN TNDP40 ADD NDDATA1(KW2,TNDWB1),TNDWD1 SUB OVERFLOW BP TNDP40 STILL SOME LEFT MOVE NDDATA2(KW2,TNDWB1),KW0 BLOCK CASSETTE PERF NDERR,KW6 TELL APPL. ABOUT EMPTY CASS. SET CASEMP B TNDP25 NEXT CASSETTE * * UPDATE NO. OF NOTES LEFT TO DISPENSE, THIS TIME * TNDP40 MOVE TNDWB2,NDDATA1(KW2,TNDWB1) SUB TNDWB3,TNDWB2 * * CALCULATE AMOUNT FROM NUMBER OF NOTES MOVE TNDWD1,NOTES(TNDWB1) MUL TNDWD1,NDDATA1(KW2,TNDWB1) ADD DELAMT,TNDWD1 B TNDP25 EJECT * * TEST IF ANYTHING TO DISPENSE * TNDP45 CBE TNDWB3,MAXOUT,TNDP50 * * DISPENSE, IF CASSETTE EMPTY, TRY AGAIN WITHOUT THAT CASSETTE * PERF IOTND,KW3, C TND, C TNDWB1, C TNDWB2, C TNDWB3, C TNDWD1, C TNDWS1, C TNDBUF * BRANCH ON RETURN STATUS: * TND ERROR, TND BLOCKED, CASSETTE EMPTY IB TNDST,TNDPER,TNDPER,TNDP20 * DISPENSE SUCCESSFUL, DELIVER NOTES PERF IOTND,KW4, C TND, C TNDWB1, C TNDWB2, C TNDWB3, C TNDWD1, C TNDWS1, C TNDBUF * BRANCH ON RETURN STATUS: * TND ERROR, TND BLOCKED, POWER FAIL BETWEEN DISPENSE & DELIVER IB TNDST,TNDPER,TNDPER ADD AMT,DELAMT SET PAYOK B TNDP20 EJECT * *DELIVERED WHAT WE COULD, DETACH TND, TEST IF ANYTHING PAID * TNDP50 * * REPORT ANY CASSETTES THAT ARE EMPTY BUT NOT REPORTED * BY "IOTND" BECAUSE DISPENSE WAS SUCCESSFUL * MOVE TNDWB1,KW0 CASSETTE INDEX TNDP52 ADD TNDWB1,KW1 NEXT CASSETTE CBG TNDWB1,CASMAX,TNDP53 BRANCH IF DONE SUB NDDATA2(KW2,TNDWB1),='0' BZ TNDP52 ALREADY REPORTED EMPTY? PERF TNDREM,TNDWB1,TNDWD1 GET AMOUNT REMAINING SUB TNDWD1,=D'0' AMOUNT REMAINING BP TNDP52 NOT EMPTY MOVE NDDATA2(KW2,TNDWB1),KW0 FLAG CASSETTE AS EMPTY PERF NDERR,KW6 REPORT TO APPLICATIONS B TNDP52 NEXT CASSETTE TNDP53 TBT PAYOK,TNDP55 RET * * PAID SOMETHING * TNDP55 TBT CASEMP,TNDPER1 * * PAID ALL * RET 4 EJECT * * ERROR TEST IF ANYTHING PAID * TNDPER TBT PAYOK,TNDPER1 RET * * ERROR BUT PAID PART * TNDPER1 RET 2 PEND END
0x0000…002e (0, 0, 400) Head {h00=0x002a, h01=0x0050, text=» IDENT TNDPAY REL=9.2 VER=ND 80-004-14«, t00=0x0000, t01=0x0004}
0x002e…004e Head {h00=0x001c, h01=0x0050, text=» UPD 3 80-04-14 / BORO«, t00=0x0000, t01=0x0032}
0x004e…0072 Head {h00=0x0020, h01=0x0050, text=» TND BLOCKED TEST CHANGED «, t00=0x0000, t01=0x0052}
0x0072…0098 Head {h00=0x0022, h01=0x0050, text=» & TND RELEASED AFTER REPORT«, t00=0x0000, t01=0x0076}
0x0098…00b8 Head {h00=0x001c, h01=0x0050, text=» UPD 2 80-02-07 / BORO«, t00=0x0000, t01=0x009c}
0x00b8…00d8 Head {h00=0x001c, h01=0x0050, text=» REPEAT LAST DISPENSE «, t00=0x0000, t01=0x00bc}
0x00d8…00f8 Head {h00=0x001c, h01=0x0050, text=» UPD 1 80-02-05 / BORO«, t00=0x0000, t01=0x00dc}
0x00f8…0120 Head {h00=0x0024, h01=0x0050, text=» ADD SEPARATE DELIVER FUNCTION«, t00=0x0000, t01=0x00fc}
0x0120…012a Head {h00=0x0006, h01=0x0003, text=»* «, t00=0x0000, t01=0x0124}
0x012a…0148 Head {h00=0x001a, h01=0x0016, text=»* NAME: TNDPAY«, t00=0x0000, t01=0x012e}
0x0148…0152 Head {h00=0x0006, h01=0x0003, text=»* «, t00=0x0000, t01=0x014c}
0x0152…0196 Head {h00=0x0040, h01=0x0050, text=»* PURPOSE: DISPENSE MONEY IN MAX SIZE BUNDLES WHEN TND «, t00=0x0000, t01=0x0156}
0x0196…01d6 Head {h00=0x003c, h01=0x0038, text=»* OPEN-NORMALLY USED FOR BANK TRANSACTIONS«, t00=0x0001, t01=0x000a}
0x01d6…01e0 Head {h00=0x0006, h01=0x0003, text=»* «, t00=0x0001, t01=0x004a}
0x01e0…0230 Head {h00=0x004c, h01=0x0050, text=»* CALL: PERF TNDPAY,AMT,TND,TNDWB1,TNDWB2,TNDWB3,TNDWD1,TNDWS1,TNDBUF«, t00=0x0001, t01=0x0054}
0x0230…026e Head {h00=0x003a, h01=0x0035, text=»* RET 0 UNABLE TO PAY «, t00=0x0001, t01=0x00a4}
0x026e…02bc Head {h00=0x004a, h01=0x0050, text=»* RET 2 PART PAID,CASS. EMPTY OR ERROR«, t00=0x0001, t01=0x00e2}
0x02bc…0308 Head {h00=0x0048, h01=0x0050, text=»* RET 4 TOTAL REQUESTED AMOUNT PAID «, t00=0x0001, t01=0x0130}
0x0308…0312 Head {h00=0x0006, h01=0x0003, text=»* «, t00=0x0001, t01=0x017c}
0x0312…0328 Head {h00=0x0012, h01=0x000d, text=»* PARAMETERS: «, t00=0x0001, t01=0x0186}
0x0328…0364 Head {h00=0x0038, h01=0x0034, text=»* IN: TND-TND DATA SET, INDICATING TELLER TO PAY«, t00=0x0002, t01=0x000c}
0x0364…038e Head {h00=0x0026, h01=0x0050, text=»* TNDWB1 BIN WORK REGISTER«, t00=0x0002, t01=0x0048}
0x038e…03aa Head {h00=0x0018, h01=0x0050, text=»* TNDWB2 " «, t00=0x0002, t01=0x0072}
0x03aa…03c6 Head {h00=0x0018, h01=0x0050, text=»* TNDWB3 " «, t00=0x0002, t01=0x008e}
0x03c6…0410 Head {h00=0x0046, h01=0x0050, text=»* TNDWD1 BCD WORK REGISTER, MINIMUM 7 CHAR PLUS SIGN CHAR «, t00=0x0002, t01=0x00aa}
0x0410…044c Head {h00=0x0038, h01=0x0050, text=»* TNDWS1 STRG WORK REGISTER, MINIMUM 5 CHAR «, t00=0x0002, t01=0x00f4}
0x044c…0486 Head {h00=0x0036, h01=0x0050, text=»* TNDBUF STRG I/O BUFFER, MINIMUM 40 CHAR «, t00=0x0002, t01=0x0130}
0x0486…04d0 Head {h00=0x0046, h01=0x0050, text=»* OUT: AMT-BCD ELEMENT, UPDATED BY ADDING THE AMOUNT DELIVERED «, t00=0x0002, t01=0x016a}
0x04d0…04da Head {h00=0x0006, h01=0x0003, text=»* «, t00=0x0003, t01=0x0024}
0x04da…04ee Head {h00=0x0010, h01=0x000b, text=»* VARIABLES «, t00=0x0003, t01=0x002e}
0x04ee…053a Head {h00=0x0048, h01=0x0050, text=»* IN: TNDREG(X)-BCD ARRAY, EACH ELEMENT REPRESENTING A CASSETTE «, t00=0x0003, t01=0x0042}
0x053a…057e Head {h00=0x0040, h01=0x003c, text=»* AND CONTAINING NUMBER OF NOTES TO DELIVER«, t00=0x0003, t01=0x008e}
0x057e…0596 Head {h00=0x0014, h01=0x0050, text=»* TNDBAD«, t00=0x0003, t01=0x00d2}
0x0596…05ae Head {h00=0x0014, h01=0x0050, text=»* TNDRCF«, t00=0x0003, t01=0x00ea}
0x05ae…05c8 Head {h00=0x0016, h01=0x0050, text=»* TNDREPA «, t00=0x0003, t01=0x0102}
0x05c8…05e0 Head {h00=0x0014, h01=0x0010, text=»* TNDOPF«, t00=0x0003, t01=0x011c}
0x05e0…05f8 Head {h00=0x0014, h01=0x0010, text=»* TNDBLK«, t00=0x0003, t01=0x0134}
0x05f8…0610 Head {h00=0x0014, h01=0x0010, text=»* CASMAX«, t00=0x0003, t01=0x014c}
0x0610…0628 Head {h00=0x0014, h01=0x0010, text=»* MAXOUT«, t00=0x0003, t01=0x0164}
0x0628…0640 Head {h00=0x0014, h01=0x0050, text=»* SCRATCH TNDWB1«, t00=0x0003, t01=0x017c}
0x0640…0658 (4, 0, 400) Head {h00=0x0014, h01=0x0050, text=»* TNDWB2«, t00=0x0004, t01=0x0004}
0x0658…0670 Head {h00=0x0014, h01=0x0050, text=»* TNDWD1«, t00=0x0004, t01=0x001c}
0x0670…0688 Head {h00=0x0014, h01=0x0010, text=»* DELAMT«, t00=0x0004, t01=0x0034}
0x0688…06a0 Head {h00=0x0014, h01=0x0050, text=»* TNDWB3«, t00=0x0004, t01=0x004c}
0x06a0…06b8 Head {h00=0x0014, h01=0x000f, text=»* TNDST «, t00=0x0004, t01=0x0064}
0x06b8…06d8 Head {h00=0x001c, h01=0x0050, text=»* NDDATA1(KW2,X)«, t00=0x0004, t01=0x007c}
0x06d8…06f0 Head {h00=0x0014, h01=0x0010, text=»* CASEMP«, t00=0x0004, t01=0x009c}
0x06f0…0708 Head {h00=0x0014, h01=0x000f, text=»* PAYOK «, t00=0x0004, t01=0x00b4}
0x0708…0712 Head {h00=0x0006, h01=0x0003, text=»* «, t00=0x0004, t01=0x00cc}
0x0712…0726 Head {h00=0x0010, h01=0x0050, text=» DDUM DEMODD«, t00=0x0004, t01=0x00d6}
0x0726…0734 Head {h00=0x000a, h01=0x0005, text=» PDIV «, t00=0x0004, t01=0x00ea}
0x0734…074a Head {h00=0x0012, h01=0x000d, text=» ENTRY TNDPAY «, t00=0x0004, t01=0x00f8}
0x074a…0772 Head {h00=0x0024, h01=0x0050, text=» EXPROC IOTND TND I/O SUBROUTINE«, t00=0x0004, t01=0x010e}
0x0772…07a4 Head {h00=0x002e, h01=0x0050, text=» EXPROC TNDREM CALC. AMT LEFT IN CASSETTE «, t00=0x0004, t01=0x0136}
0x07a4…07d8 Head {h00=0x0030, h01=0x0050, text=» EXPROC NDERR REPORT TO APPL CASSETTE EMPTY «, t00=0x0004, t01=0x0168}
0x07d8…07e6 Head {h00=0x000a, h01=0x0006, text=» EJECT«, t00=0x0005, t01=0x000c}
0x07e6…0802 Head {h00=0x0018, h01=0x0050, text=»TNDPAY PROC AMT, C «, t00=0x0005, t01=0x001a}
0x0802…0814 Head {h00=0x000e, h01=0x0050, text=» TND, C «, t00=0x0005, t01=0x0036}
0x0814…0828 Head {h00=0x0010, h01=0x000c, text=» TNDWB1, C«, t00=0x0005, t01=0x0048}
0x0828…083c Head {h00=0x0010, h01=0x000c, text=» TNDWB2, C«, t00=0x0005, t01=0x005c}
0x083c…0850 Head {h00=0x0010, h01=0x000c, text=» TNDWB3, C«, t00=0x0005, t01=0x0070}
0x0850…0864 Head {h00=0x0010, h01=0x000c, text=» TNDWD1, C«, t00=0x0005, t01=0x0084}
0x0864…0878 Head {h00=0x0010, h01=0x000c, text=» TNDWS1, C«, t00=0x0005, t01=0x0098}
0x0878…0888 Head {h00=0x000c, h01=0x0008, text=» TNDBUF«, t00=0x0005, t01=0x00ac}
0x0888…089a Head {h00=0x000e, h01=0x0050, text=» PBCD AMT «, t00=0x0005, t01=0x00bc}
0x089a…08ac Head {h00=0x000e, h01=0x0050, text=» PDSET TND«, t00=0x0005, t01=0x00ce}
0x08ac…08c0 Head {h00=0x0010, h01=0x0050, text=» PBIN TNDWB1«, t00=0x0005, t01=0x00e0}
0x08c0…08d4 Head {h00=0x0010, h01=0x0050, text=» PBIN TNDWB2«, t00=0x0005, t01=0x00f4}
0x08d4…08e8 Head {h00=0x0010, h01=0x0050, text=» PBIN TNDWB3«, t00=0x0005, t01=0x0108}
0x08e8…08fc Head {h00=0x0010, h01=0x0050, text=» PBCD TNDWD1«, t00=0x0005, t01=0x011c}
0x08fc…0912 Head {h00=0x0012, h01=0x0050, text=» PSTRG TNDWS1 «, t00=0x0005, t01=0x0130}
0x0912…0928 Head {h00=0x0012, h01=0x0050, text=» PSTRG TNDBUF «, t00=0x0005, t01=0x0146}
0x0928…0952 Head {h00=0x0026, h01=0x0050, text=» TBT TNDBAD,TNDP00 RET. IF TND BAD«, t00=0x0005, t01=0x015c}
0x0952…0986 Head {h00=0x0030, h01=0x0050, text=» TBT TNDRCF,TNDP00 RET. IF REJECT CASS FULL «, t00=0x0005, t01=0x0186}
0x0986…09be Head {h00=0x0034, h01=0x0050, text=» TBT TNDBLK,TNDP00 RET. IF TNDADM FUNC. RUNNING «, t00=0x0006, t01=0x002a}
0x09be…09e8 Head {h00=0x0026, h01=0x0050, text=» TBT TNDOPF,TNDP10 RET. IF CLOSED «, t00=0x0006, t01=0x0062}
0x09e8…09f6 Head {h00=0x000a, h01=0x0050, text=»TNDP00«, t00=0x0006, t01=0x008c}
0x09f6…0a1e Head {h00=0x0024, h01=0x0050, text=» RET TND BLOCKED FROM DISPENSE «, t00=0x0006, t01=0x009a}
0x0a1e…0a28 Head {h00=0x0006, h01=0x0003, text=»* «, t00=0x0006, t01=0x00c2}
0x0a28…0a50 Head {h00=0x0024, h01=0x0020, text=»* DISPENSING ALLOWED, INITIALIZE«, t00=0x0006, t01=0x00cc}
0x0a50…0a5a Head {h00=0x0006, h01=0x0003, text=»* «, t00=0x0006, t01=0x00f4}
0x0a5a…0a68 Head {h00=0x000a, h01=0x0050, text=»TNDP10«, t00=0x0006, t01=0x00fe}
0x0a68…0a7c Head {h00=0x0010, h01=0x000c, text=» CLEAR PAYOK«, t00=0x0006, t01=0x010c}
0x0a7c…0a92 Head {h00=0x0012, h01=0x000d, text=» CLEAR CASEMP «, t00=0x0006, t01=0x0120}
0x0a92…0a9c Head {h00=0x0006, h01=0x0003, text=»* «, t00=0x0006, t01=0x0136}
0x0a9c…0aba Head {h00=0x001a, h01=0x0015, text=»* SET UP FOR DISPENSE «, t00=0x0006, t01=0x0140}
0x0aba…0ac4 Head {h00=0x0006, h01=0x0003, text=»* «, t00=0x0006, t01=0x015e}
0x0ac4…0ad2 Head {h00=0x000a, h01=0x0006, text=»TNDP20«, t00=0x0006, t01=0x0168}
0x0ad2…0aee Head {h00=0x0018, h01=0x0050, text=» MOVE TNDWB3,MAXOUT «, t00=0x0006, t01=0x0176}
0x0aee…0b06 (7, 0, 400) Head {h00=0x0014, h01=0x0050, text=» MOVE DELAMT,KW0«, t00=0x0007, t01=0x0004}
0x0b06…0b1e Head {h00=0x0014, h01=0x0050, text=» MOVE TNDWB1,KW0«, t00=0x0007, t01=0x001c}
0x0b1e…0b28 Head {h00=0x0006, h01=0x0003, text=»* «, t00=0x0007, t01=0x0034}
0x0b28…0b52 Head {h00=0x0026, h01=0x0050, text=»* TEST IF LOOPED THROUGH CASSETTES«, t00=0x0007, t01=0x003e}
0x0b52…0b5c Head {h00=0x0006, h01=0x0003, text=»* «, t00=0x0007, t01=0x0068}
0x0b5c…0b6a Head {h00=0x000a, h01=0x0006, text=»TNDP25«, t00=0x0007, t01=0x0072}
0x0b6a…0b82 Head {h00=0x0014, h01=0x0050, text=» ADD TNDWB1,KW1 «, t00=0x0007, t01=0x0080}
0x0b82…0ba4 Head {h00=0x001e, h01=0x0050, text=» CBG TNDWB1,CASMAX,TNDP45 «, t00=0x0007, t01=0x0098}
0x0ba4…0bca Head {h00=0x0022, h01=0x0050, text=» MOVE NDDATA1(KW2,TNDWB1),KW0 «, t00=0x0007, t01=0x00ba}
0x0bca…0bd4 Head {h00=0x0006, h01=0x0003, text=»* «, t00=0x0007, t01=0x00e0}
0x0bd4…0c0a Head {h00=0x0032, h01=0x002e, text=»* TEST IF DISPENSE REQUESTED FOR THIS CASSETTE«, t00=0x0007, t01=0x00ea}
0x0c0a…0c14 Head {h00=0x0006, h01=0x0003, text=»* «, t00=0x0007, t01=0x0120}
0x0c14…0c34 Head {h00=0x001c, h01=0x0050, text=» SUB TNDREG(TNDWB1),='0'«, t00=0x0007, t01=0x012a}
0x0c34…0c46 Head {h00=0x000e, h01=0x000a, text=» BZ TNDP25«, t00=0x0007, t01=0x014a}
0x0c46…0c50 Head {h00=0x0006, h01=0x0003, text=»* «, t00=0x0007, t01=0x015c}
0x0c50…0c86 Head {h00=0x0032, h01=0x002e, text=»* TEST IF DISPENSE ALLOWED FROPM THIS CASSETTE«, t00=0x0007, t01=0x0166}
0x0c86…0cac Head {h00=0x0022, h01=0x0050, text=» SUB NDDATA2(KW2,TNDWB1),='0' «, t00=0x0008, t01=0x000c}
0x0cac…0cc0 Head {h00=0x0010, h01=0x000b, text=» BNZ TNDP30 «, t00=0x0008, t01=0x0032}
0x0cc0…0cd4 Head {h00=0x0010, h01=0x000b, text=» SET CASEMP «, t00=0x0008, t01=0x0046}
0x0cd4…0ce6 Head {h00=0x000e, h01=0x0009, text=» B TNDP25 «, t00=0x0008, t01=0x005a}
0x0ce6…0cf0 Head {h00=0x0006, h01=0x0003, text=»* «, t00=0x0008, t01=0x006c}
0x0cf0…0d34 Head {h00=0x0040, h01=0x003c, text=»* DETERMINE NOTES TO DISPENSE FROM THIS CASSETTE, THIS TIME«, t00=0x0008, t01=0x0076}
0x0d34…0d3e Head {h00=0x0006, h01=0x0003, text=»* «, t00=0x0008, t01=0x00ba}
0x0d3e…0d4c Head {h00=0x000a, h01=0x0006, text=»TNDP30«, t00=0x0008, t01=0x00c4}
0x0d4c…0d74 Head {h00=0x0024, h01=0x0050, text=» MOVE NDDATA1(KW2,TNDWB1),TNDWB3«, t00=0x0008, t01=0x00d2}
0x0d74…0d98 Head {h00=0x0020, h01=0x0050, text=» MOVE TNDWB2,TNDREG(TNDWB1) «, t00=0x0008, t01=0x00fa}
0x0d98…0dcc Head {h00=0x0030, h01=0x0050, text=» CBG TNDWB2,TNDWB3,TNDP35 BRANCH IF TOO MUCH«, t00=0x0008, t01=0x011e}
0x0dcc…0dfc Head {h00=0x002c, h01=0x0050, text=» MOVE NDDATA1(KW2,TNDWB1),TNDREG(TNDWB1)«, t00=0x0008, t01=0x0152}
0x0dfc…0e06 Head {h00=0x0006, h01=0x0003, text=»* «, t00=0x0008, t01=0x0182}
0x0e06…0e30 Head {h00=0x0026, h01=0x0050, text=»* TEST IF ENOUGH LEFT IN CASSETTE «, t00=0x0008, t01=0x018c}
0x0e30…0e3a Head {h00=0x0006, h01=0x0003, text=»* «, t00=0x0009, t01=0x0026}
0x0e3a…0e48 Head {h00=0x000a, h01=0x0006, text=»TNDP35«, t00=0x0009, t01=0x0030}
0x0e48…0e84 Head {h00=0x0038, h01=0x0050, text=» PERF TNDREM,TNDWB1,TNDWD1 CALC. NOTES LEFT IN CASS.«, t00=0x0009, t01=0x003e}
0x0e84…0eac Head {h00=0x0024, h01=0x0050, text=» SUB TNDWD1,NDDATA1(KW2,TNDWB1) «, t00=0x0009, t01=0x007a}
0x0eac…0ec0 Head {h00=0x0010, h01=0x000b, text=» BNN TNDP40 «, t00=0x0009, t01=0x00a2}
0x0ec0…0ef4 Head {h00=0x0030, h01=0x0050, text=» ADD NDDATA1(KW2,TNDWB1),TNDWD1 SUB OVERFLOW«, t00=0x0009, t01=0x00b6}
0x0ef4…0f16 Head {h00=0x001e, h01=0x0050, text=» BP TNDP40 STILL SOME LEFT«, t00=0x0009, t01=0x00ea}
0x0f16…0f4a Head {h00=0x0030, h01=0x0050, text=» MOVE NDDATA2(KW2,TNDWB1),KW0 BLOCK CASSETTE«, t00=0x0009, t01=0x010c}
0x0f4a…0f7e Head {h00=0x0030, h01=0x0050, text=» PERF NDERR,KW6 TELL APPL. ABOUT EMPTY CASS.«, t00=0x0009, t01=0x0140}
0x0f7e…0f92 Head {h00=0x0010, h01=0x000b, text=» SET CASEMP «, t00=0x0009, t01=0x0174}
0x0f92…0fb2 Head {h00=0x001c, h01=0x0050, text=» B TNDP25 NEXT CASSETTE «, t00=0x0009, t01=0x0188}
0x0fb2…0fbc Head {h00=0x0006, h01=0x0003, text=»* «, t00=0x000a, t01=0x0018}
0x0fbc…0ff6 Head {h00=0x0036, h01=0x0032, text=»* UPDATE NO. OF NOTES LEFT TO DISPENSE, THIS TIME«, t00=0x000a, t01=0x0022}
0x0ff6…1000 Head {h00=0x0006, h01=0x0003, text=»* «, t00=0x000a, t01=0x005c}
0x1000…100e Head {h00=0x000a, h01=0x0006, text=»TNDP40«, t00=0x000a, t01=0x0066}
0x100e…1036 Head {h00=0x0024, h01=0x0050, text=» MOVE TNDWB2,NDDATA1(KW2,TNDWB1)«, t00=0x000a, t01=0x0074}
0x1036…1050 Head {h00=0x0016, h01=0x0050, text=» SUB TNDWB3,TNDWB2«, t00=0x000a, t01=0x009c}
0x1050…105a Head {h00=0x0006, h01=0x0003, text=»* «, t00=0x000a, t01=0x00b6}
0x105a…108a Head {h00=0x002c, h01=0x0027, text=»* CALCULATE AMOUNT FROM NUMBER OF NOTES «, t00=0x000a, t01=0x00c0}
0x108a…10ac Head {h00=0x001e, h01=0x0050, text=» MOVE TNDWD1,NOTES(TNDWB1)«, t00=0x000a, t01=0x00f0}
0x10ac…10d4 Head {h00=0x0024, h01=0x0050, text=» MUL TNDWD1,NDDATA1(KW2,TNDWB1) «, t00=0x000a, t01=0x0112}
0x10d4…10ee Head {h00=0x0016, h01=0x0050, text=» ADD DELAMT,TNDWD1«, t00=0x000a, t01=0x013a}
0x10ee…1100 Head {h00=0x000e, h01=0x0009, text=» B TNDP25 «, t00=0x000a, t01=0x0154}
0x1100…110e Head {h00=0x000a, h01=0x0006, text=» EJECT«, t00=0x000a, t01=0x0166}
0x110e…1118 Head {h00=0x0006, h01=0x0003, text=»* «, t00=0x000a, t01=0x0174}
0x1118…113e Head {h00=0x0022, h01=0x001e, text=»* TEST IF ANYTHING TO DISPENSE«, t00=0x000a, t01=0x017e}
0x113e…1148 Head {h00=0x0006, h01=0x0003, text=»* «, t00=0x000b, t01=0x0014}
0x1148…1156 Head {h00=0x000a, h01=0x0006, text=»TNDP45«, t00=0x000b, t01=0x001e}
0x1156…1178 Head {h00=0x001e, h01=0x0050, text=» CBE TNDWB3,MAXOUT,TNDP50 «, t00=0x000b, t01=0x002c}
0x1178…1182 Head {h00=0x0006, h01=0x0003, text=»* «, t00=0x000b, t01=0x004e}
0x1182…11c8 Head {h00=0x0042, h01=0x003e, text=»* DISPENSE, IF CASSETTE EMPTY, TRY AGAIN WITHOUT THAT CASSETTE«, t00=0x000b, t01=0x0058}
0x11c8…11d2 Head {h00=0x0006, h01=0x0003, text=»* «, t00=0x000b, t01=0x009e}
0x11d2…11ee Head {h00=0x0018, h01=0x0050, text=» PERF IOTND,KW3, C «, t00=0x000b, t01=0x00a8}
0x11ee…1200 Head {h00=0x000e, h01=0x0009, text=» TND, C «, t00=0x000b, t01=0x00c4}
0x1200…1214 Head {h00=0x0010, h01=0x000c, text=» TNDWB1, C«, t00=0x000b, t01=0x00d6}
0x1214…1228 Head {h00=0x0010, h01=0x000c, text=» TNDWB2, C«, t00=0x000b, t01=0x00ea}
0x1228…123c Head {h00=0x0010, h01=0x000c, text=» TNDWB3, C«, t00=0x000b, t01=0x00fe}
0x123c…1250 Head {h00=0x0010, h01=0x000c, text=» TNDWD1, C«, t00=0x000b, t01=0x0112}
0x1250…1264 Head {h00=0x0010, h01=0x000c, text=» TNDWS1, C«, t00=0x000b, t01=0x0126}
0x1264…1274 Head {h00=0x000c, h01=0x0008, text=» TNDBUF«, t00=0x000b, t01=0x013a}
0x1274…1296 Head {h00=0x001e, h01=0x0050, text=»* BRANCH ON RETURN STATUS:«, t00=0x000b, t01=0x014a}
0x1296…12c6 Head {h00=0x002c, h01=0x0050, text=»* TND ERROR, TND BLOCKED, CASSETTE EMPTY«, t00=0x000b, t01=0x016c}
0x12c6…12ec Head {h00=0x0022, h01=0x001e, text=» IB TNDST,TNDPER,TNDPER,TNDP20«, t00=0x000c, t01=0x000c}
0x12ec…12f4 Head {h00=0x0004, h01=0x0050, t00=0x000c, t01=0x0032}
0x12f4…1320 Head {h00=0x0028, h01=0x0050, text=»* DISPENSE SUCCESSFUL, DELIVER NOTES«, t00=0x000c, t01=0x003a}
0x1320…1328 Head {h00=0x0004, h01=0x0050, t00=0x000c, t01=0x0066}
0x1328…1344 Head {h00=0x0018, h01=0x0050, text=» PERF IOTND,KW4, C «, t00=0x000c, t01=0x006e}
0x1344…1356 Head {h00=0x000e, h01=0x0009, text=» TND, C «, t00=0x000c, t01=0x008a}
0x1356…136a Head {h00=0x0010, h01=0x000c, text=» TNDWB1, C«, t00=0x000c, t01=0x009c}
0x136a…137e Head {h00=0x0010, h01=0x000c, text=» TNDWB2, C«, t00=0x000c, t01=0x00b0}
0x137e…1392 Head {h00=0x0010, h01=0x000c, text=» TNDWB3, C«, t00=0x000c, t01=0x00c4}
0x1392…13a6 Head {h00=0x0010, h01=0x000c, text=» TNDWD1, C«, t00=0x000c, t01=0x00d8}
0x13a6…13ba Head {h00=0x0010, h01=0x000c, text=» TNDWS1, C«, t00=0x000c, t01=0x00ec}
0x13ba…13ca Head {h00=0x000c, h01=0x0008, text=» TNDBUF«, t00=0x000c, t01=0x0100}
0x13ca…13d2 Head {h00=0x0004, h01=0x0050, t00=0x000c, t01=0x0110}
0x13d2…13f4 Head {h00=0x001e, h01=0x0050, text=»* BRANCH ON RETURN STATUS:«, t00=0x000c, t01=0x0118}
0x13f4…143c Head {h00=0x0044, h01=0x0050, text=»* TND ERROR, TND BLOCKED, POWER FAIL BETWEEN DISPENSE & DELIVER «, t00=0x000c, t01=0x013a}
0x143c…1444 Head {h00=0x0004, h01=0x0050, t00=0x000c, t01=0x0182}
0x1444…1464 Head {h00=0x001c, h01=0x0050, text=» IB TNDST,TNDPER,TNDPER «, t00=0x000c, t01=0x018a}
0x1464…147c Head {h00=0x0014, h01=0x000f, text=» ADD AMT,DELAMT «, t00=0x000d, t01=0x001a}
0x147c…148e Head {h00=0x000e, h01=0x000a, text=» SET PAYOK«, t00=0x000d, t01=0x0032}
0x148e…14a0 Head {h00=0x000e, h01=0x0009, text=» B TNDP20 «, t00=0x000d, t01=0x0044}
0x14a0…14ae Head {h00=0x000a, h01=0x0006, text=» EJECT«, t00=0x000d, t01=0x0056}
0x14ae…14b8 Head {h00=0x0006, h01=0x0003, text=»* «, t00=0x000d, t01=0x0064}
0x14b8…14fc Head {h00=0x0040, h01=0x003b, text=»*DELIVERED WHAT WE COULD, DETACH TND, TEST IF ANYTHING PAID «, t00=0x000d, t01=0x006e}
0x14fc…1506 Head {h00=0x0006, h01=0x0003, text=»* «, t00=0x000d, t01=0x00b2}
0x1506…1514 Head {h00=0x000a, h01=0x0006, text=»TNDP50«, t00=0x000d, t01=0x00bc}
0x1514…151e Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x000d, t01=0x00ca}
0x151e…155c Head {h00=0x003a, h01=0x0050, text=»* REPORT ANY CASSETTES THAT ARE EMPTY BUT NOT REPORTED«, t00=0x000d, t01=0x00d4}
0x155c…1592 Head {h00=0x0032, h01=0x0050, text=»* BY "IOTND" BECAUSE DISPENSE WAS SUCCESSFUL «, t00=0x000d, t01=0x0112}
0x1592…159c Head {h00=0x0006, h01=0x0050, text=»* «, t00=0x000d, t01=0x0148}
0x159c…15c4 Head {h00=0x0024, h01=0x0050, text=» MOVE TNDWB1,KW0 CASSETTE INDEX «, t00=0x000d, t01=0x0152}
0x15c4…15d2 Head {h00=0x000a, h01=0x0050, text=»TNDP52«, t00=0x000d, t01=0x017a}
0x15d2…15f8 Head {h00=0x0022, h01=0x0050, text=» ADD TNDWB1,KW1 NEXT CASSETTE «, t00=0x000d, t01=0x0188}
0x15f8…1628 Head {h00=0x002c, h01=0x0050, text=» CBG TNDWB1,CASMAX,TNDP53 BRANCH IF DONE«, t00=0x000e, t01=0x001e}
0x1628…164e Head {h00=0x0022, h01=0x0050, text=» SUB NDDATA2(KW2,TNDWB1),='0' «, t00=0x000e, t01=0x004e}
0x164e…1678 Head {h00=0x0026, h01=0x0050, text=» BZ TNDP52 ALREADY REPORTED EMPTY?«, t00=0x000e, t01=0x0074}
0x1678…16b0 Head {h00=0x0034, h01=0x0050, text=» PERF TNDREM,TNDWB1,TNDWD1 GET AMOUNT REMAINING «, t00=0x000e, t01=0x009e}
0x16b0…16da Head {h00=0x0026, h01=0x0050, text=» SUB TNDWD1,=D'0' AMOUNT REMAINING«, t00=0x000e, t01=0x00d6}
0x16da…16f6 Head {h00=0x0018, h01=0x0050, text=» BP TNDP52 NOT EMPTY«, t00=0x000e, t01=0x0100}
0x16f6…1732 Head {h00=0x0038, h01=0x0050, text=» MOVE NDDATA2(KW2,TNDWB1),KW0 FLAG CASSETTE AS EMPTY«, t00=0x000e, t01=0x011c}
0x1732…1760 Head {h00=0x002a, h01=0x0050, text=» PERF NDERR,KW6 REPORT TO APPLICATIONS«, t00=0x000e, t01=0x0158}
0x1760…1780 Head {h00=0x001c, h01=0x0050, text=» B TNDP52 NEXT CASSETTE «, t00=0x000e, t01=0x0186}
0x1780…178e Head {h00=0x000a, h01=0x0050, text=»TNDP53«, t00=0x000f, t01=0x0016}
0x178e…17a8 Head {h00=0x0016, h01=0x0050, text=» TBT PAYOK,TNDP55 «, t00=0x000f, t01=0x0024}
0x17a8…17b4 Head {h00=0x0008, h01=0x0004, text=» RET«, t00=0x000f, t01=0x003e}
0x17b4…17be Head {h00=0x0006, h01=0x0003, text=»* «, t00=0x000f, t01=0x004a}
0x17be…17d6 Head {h00=0x0014, h01=0x0010, text=»* PAID SOMETHING«, t00=0x000f, t01=0x0054}
0x17d6…17e0 Head {h00=0x0006, h01=0x0003, text=»* «, t00=0x000f, t01=0x006c}
0x17e0…17ee Head {h00=0x000a, h01=0x0006, text=»TNDP55«, t00=0x000f, t01=0x0076}
0x17ee…180a Head {h00=0x0018, h01=0x0050, text=» TBT CASEMP,TNDPER1 «, t00=0x000f, t01=0x0084}
0x180a…1814 Head {h00=0x0006, h01=0x0003, text=»* «, t00=0x000f, t01=0x00a0}
0x1814…1826 Head {h00=0x000e, h01=0x000a, text=»* PAID ALL«, t00=0x000f, t01=0x00aa}
0x1826…1830 Head {h00=0x0006, h01=0x0003, text=»* «, t00=0x000f, t01=0x00bc}
0x1830…183e Head {h00=0x000a, h01=0x0006, text=» RET 4«, t00=0x000f, t01=0x00c6}
0x183e…184c Head {h00=0x000a, h01=0x0006, text=» EJECT«, t00=0x000f, t01=0x00d4}
0x184c…1856 Head {h00=0x0006, h01=0x0003, text=»* «, t00=0x000f, t01=0x00e2}
0x1856…187c Head {h00=0x0022, h01=0x0050, text=»* ERROR TEST IF ANYTHING PAID«, t00=0x000f, t01=0x00ec}
0x187c…1886 Head {h00=0x0006, h01=0x0003, text=»* «, t00=0x000f, t01=0x0112}
0x1886…1894 Head {h00=0x000a, h01=0x0006, text=»TNDPER«, t00=0x000f, t01=0x011c}
0x1894…18ae Head {h00=0x0016, h01=0x0012, text=» TBT PAYOK,TNDPER1«, t00=0x000f, t01=0x012a}
0x18ae…18ba Head {h00=0x0008, h01=0x0004, text=» RET«, t00=0x000f, t01=0x0144}
0x18ba…18c4 Head {h00=0x0006, h01=0x0003, text=»* «, t00=0x000f, t01=0x0150}
0x18c4…18e2 Head {h00=0x001a, h01=0x0015, text=»* ERROR BUT PAID PART «, t00=0x000f, t01=0x015a}
0x18e2…18ec Head {h00=0x0006, h01=0x0003, text=»* «, t00=0x000f, t01=0x0178}
0x18ec…18fc Head {h00=0x000c, h01=0x0007, text=»TNDPER1 «, t00=0x000f, t01=0x0182}
0x18fc…190a (16, 2, 48) Head {h00=0x000a, h01=0x0006, text=» RET 2«, t00=0x0010, t01=0x0004}
0x190a…1918 Head {h00=0x000a, h01=0x0005, text=» PEND «, t00=0x0010, t01=0x0012}
0x1918…1924 Head {h00=0x0008, h01=0x0004, text=» END«, t00=0x0010, t01=0x0020}
0x1924…1928 Head {h00=0x4004, h01=0x0000}
0x1928…192c 00 10 00 2c ┆ ,┆
0x192c…1934 (17, 1, 8) 20 04 00 00 00 11 00 04 ┆ ┆