|
|
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: 20582 (0x5066)
Notes: pts_type(SC)
Names: »DENVAL.SC«
└─⟦48601905a⟧ Bits:30009668 Philips computer tape "600121"
└─⟦this⟧ »S:DE/DENVAL.SC«
└─⟦d2a299635⟧ Bits:30009698 Philips computer tape "600415"
└─⟦this⟧ »S:DE/DENVAL.SC«
IDENT DENVAL REL 10.0 80-04-11 UPD 80-04-29/DALI 80-04-24/DALI DDUM DEDDIV PDIV ENTRY DENVAL EXT TESTB TEST FOR A BIT IN A BIN EXT DEEDIT EXT MSKOUT EXT GETVAL LOOK FOR VALIDATION- STRING FOR CURRENT FIELD EXT DECOMP USER OR STANDARDROUTINE TO VALIDATE CURRENT INPUT EXT EMPTYT ASSEMBLY SUBROUTINE EMPTYT - TEST IF DATA ITEM IS EMPTY EXT CLEARB CLEAR A BIT IN A BIN ITEM EXT SETB SET A BIT IN A BIN ITEM EXT DELAST KEY INPUT ON LAST LINE EXT DEDISC DISC HANDLING ROUTINE EXT ATTDB ASSEMBLY SUBROUTINE ATTDB - ATTACH DESCRIPTORBLOCK EXT ATTWB ASSEMBLY SUBROUTINE ATTWB - ATTACH WORKBLOCK EXT DEPOOL POOL HANDLING ROUTINE EXT DEAPPU USER-CODED APPL-HANDLING EXT TYPET EXT GETIND EXT CMPIND INCLUDE DELITT EJECT * * LOOK IF THERE ARE A VALIDATIONSTRING * WITHIN THE FORMAT AND EXECUTE IT. * * DOOL1= NOT FLAG * DOOL2= INSERTION OF RECORD * DOOL3= ENTRY MODE * DOOL4= GETFLD TO OTHER FIELD * WITHIN FORMAT EXECUTED * DOOL5= NO KEYED INPUT * DOOL6= ABSOLUTE VALUE * DOOL7= NOT CURRENT ITEM IN DEINPUT * DOOL8= BATCHHEAD FOR NEW BATCH * BIN11= POOLINDEX * BIN12= STARTPOSITION * BIN13= STOPPOSITION * BIN14= CONDITIONAL TAB.-FIELD * (NEXT FIELD) DENVAL PROC FC MOVE BIN8,W0 MOVE BIN3,W0 USED AS POINTER TO ERRORMESSAGE CLEAR BOOL4 F=NO RECORD CHANGE FOUND (R) CLEAR BOOL6 F=NO COND TAB FOUND CLEAR BOOL8 F=NO RECORD CHANGE FOUND (N) CLEAR REWRT UPDFLD=0 MOVE DEBINW4,W2 GETABX BIN8 SAVE CURRENT FIELD.NR CBNE DEBINW1,W0,DENV10 KEYINPUTLENGTH = 0 PERF DEEDIT,W3 PUT FMTITEM INTO DEINPUT B DENV20 DENV10 TBF DOOL5,DENV30 JUMP IF NOT DUPL DENV20 MOVE WORK(W5),W0 INPUTLENGTH = 0 B DENV40 DENV30 MOVE WORK(W5),DEBINW1 SAVE INPUTLENGTH DENV40 MOVE BIN4,DEBINW1 SAVE INPUTLENGTH MOVE STATSH,DEINPUT SAVE KEYED INPUT IB FC,DENV50 DEACCU C DENV50 DEGENE GETCTL 0,DEBINW3 GET APPL-VALUE;DENTER CBE DEBINW3,W0,DENV50 NO APPL-VALUE PERF DEAPPU USERCODED APPL-HANDLING IB DEBINW3,DENV45 UPDFLD = 1 C UPDR40 SET CURSOR C DENV42 ERROR PRINTOUT B DENV50 UPDFLD = 0 DENV42 ERROR PRINTOUT MOVE BIN3,W0 B UPDR40 DENV45 UPDFLD = 1 SET REWRT DENV50 MOVE DEBINW3,BIN8 SAVE TAB.INDEX EJECT * * EXECUTE VALIDATION * UPDV0A ADD BIN13,BIN12 B UPDV01 UPDV00 MOVE DEINPUT,STATSH RESTORE KEYED INPUT MOVE DEBINW1,BIN4 RESTOR INPUTLENGTH UPDV01 MOVE STR64A,='M/=><DGRN' MOVE BIN5,W0 MATCH STR64A,BIN5,W9,BPOOL(BIN11),BIN12,W1 BOK UPDV16 CLEAR DOOL7 BNZ DECOMT NOT OKEY MOVE STR64A,='ASUFFFX' MOVE BIN9,W0 MATCH STR64A,BIN9,W7,BPOOL(BIN11),BIN12,W1 BNOK DECOOK SET DOOL7 NOT CURRENT FIELD VALIDATION ADD BIN12,W1 CBE BIN9,W6,UPDV05 JUMP IF X XCOPY BIN8,W1,W1,BPOOL(BIN11),BIN12 ADD BIN12,W1 UPDV05 CLEAR ALPHA F=ALPHATEST CBE BIN8,W0,UPDV04 PERF DEEDIT,BIN9 B UPDV06 UPDV04 MOVE BIN8,DEBINW3 CURRENT TABINDEX UPDV06 IB BIN9,UPDV01,UPDV01,UPDV07, 1=S,2=U,3=F C UPDV07,UPDV07,UPDV09 6=X B UPDV09 0=A UPDV07 CALL TYPET,BIN7,X.PSEU1,X.PSEU2,X.WB10,BIN8 CBE BIN7,W3,UPDV01 JUMP IF ALPHA STRG UPDV09 SET ALPHA T=BCD-NUM B UPDV01 UPDV16 IB BIN5,UPDV20,UPDV30,UPDV30,UPDV30,UPDV25 C UPDGOT,UPDFOR,UPDFON UPDE00 HHANDLE ERRORCODE ADD BIN12,W1 XCOPY DEBINW4,W1,W1,BPOOL(BIN11),BIN12 MOVE BIN3,BIN12 SAVE INDEX TO ERR.MESS XCOPY BIN3,W0,W1,BIN11,W1 SAVE POOLINDEX CBL DEBINW4,W128,UPDE10 MOVE BIN9,=X'3F' CALL MSKOUT,BIN9,DEBINW4 ADD BIN12,BIN9 UPDE10 ADD BIN12,W1 CBL BIN12,BIN13,UPDV01 B DECERR JUMP IF END OF VALSTRING UPDV20 / SET DOOL1 NOT-FLAG B UPDE10 * UPDV25 D;DUPLICATE ADD BIN12,W1 SET DOOL4 BNZ DECERR XCOPY BIN8,W1,W1,BPOOL(BIN11),BIN12 GETFLD 0,BIN8,BIN9 MOVE WORK(W6),BIN11 MOVE WORK(W7),BIN12 MOVE WORK(W8),BIN13 CALL GETVAL,BPOOL(W1),BIN11,BIN12,BIN13 BNOK DECERR B UPDV0A * UPDV30 =EQUAL;>GREATER;<LESS; SUB BIN5,W2 ADD BIN12,W1 MOVE BIN6,W0 START IN VALSTR MOVE STR64A,='+-*:' MOVE BCDI21(W1),=D'0' MATCH STR64A,BIN6,W4,BPOOL(BIN11),BIN12,W1 BOK UPDV35 MOVE BIN6,W0 IF ARITHMETIC SIGN IS B UPDV37 OMITTED + IS ASSUMED UPDV35 ADD BIN12,W1 INCREASE POINTER UPDV37 MOVE BIN9,W0 MOVE STR64A,='L!ASUFTCXE' MATCH STR64A,BIN9,W10,BPOOL(BIN11),BIN12,W1 BOK UPDV50 MOVE BIN9,W10 STRING-COMPARISION B UPDV60 UPDV50 ADD BIN12,W1 ADJUST POINTER CBNL BIN9,W8,UPDV65 UPDV60 XCOPY BIN8,W1,W1,BPOOL(BIN11),BIN12 GET INDEX ADD BIN12,W1 ADJUST POINTER UPDV65 IB BIN9,UPDABS,UPDACC,UPDSYS,UPDUSE,UPDFLD,UPDSET,UPDCOD C UPDVSI,UPDEMP,UPDNUM UPDLEN HANDLE LENGTH CMP DEBINW1,BIN8 B DECO05 * UPDABS SET DOOL6 B UPDE10 * UPDACC HANDLE ACCUMULATOR CALL CMPIND,BIN8,ACK(W1) BNOK DECERR OUT OF RANGE MOVE BCDI21(W2),ACK(BIN8) B UPDN50 EJECT * UPDSYS HANDLE SYSTEMVARIABEL UPDUSE AND USERVAIABLES * SUB BIN9,W3 CLEAR DOOL7 BNZ UPDS01 JUMP IF CURR FIELD TSTCTL 0 LOOK IF ALPHA BZ UPDS30 JUMP IF BCD B UPDS03 UPDS01 TBT ALPHA,UPDS30 JUMP IF BCD-NUM UPDS03 IB BIN9,UPDS05 CALL GETIND,SYSV(W1),BIN15,BIN10 B UPDS10 UPDS05 CALL GETIND,USEV(W1),BIN15,BIN10 ITEM,LENGTH,DIM UPDS10 CMP BIN10,BIN8 CMP DIMENSION BL DECERR VARIABLE NOT EXIST MOVE BIN10,W0 IB BIN9,UPDS15 MATCH DEINPUT,BIN10,BIN15,SYSV(BIN8),W0,BIN15 B UPDS20 UPDS15 MATCH DEINPUT,BIN10,BIN15,USEV(BIN8),W0,BIN15 UPDS20 BOK DECEGL B DECNOT UPDS30 IB BIN9,UPDS50 CALL CMPIND,BIN8,SYSV(W1) BNOK DECERR OUT OF RANGE MOVE BCDI21(W2),SYSV(BIN8) B UPDN50 UPDS50 CALL CMPIND,BIN8,USEV(W1) BNOK DECERR OUT OF RANGE MOVE BCDI21(W2),USEV(BIN8) B UPDN50 EJECT * UPDFLD HANDLE FIELD WITHIN FORMAT * CBNE BIN8,W0,UPDF10 CURRENT FIELD MOVE BIN8,DEBINW3 CURRENT FIELNUMBER UPDF10 CALL TYPET,BIN10,X.PSEU1,X.PSEU2,X.WB10,BIN8 CBNE BIN10,W3,UPDF40 JUMP IF NOT ALPHA GETCTL 1,BIN10 GET MAXL SET DOOL4 MOVE BIN7,W0 CON X.MATCH,X.PSEU1,X.PSEU2 CON X.WB10,BIN8 CON BIN7,BIN10,HEX00,W0,W1 CMP DEBINW1,BIN7 BNE DECNOT INVALID LENGTH MOVE BIN10,W0 CON X.MATCH,DEINPUT,BIN10,DEBINW1 CON X.PSEU1,X.PSEU2 CON X.WB10,BIN8,W0,DEBINW1 BOK DECEGL B DECNOT UPDF40 NUMERIC CON X.MOVE,BCDI21(W2),X.PSEU1,X.PSEU2 CON X.WB10,BIN8 B UPDN50 * EJECT UPDSET HANDLE VALUESET CMP BIN5,W0 BNZ DECERR MOVE VSEIND,W0 VALUE-SET INDEX:=0 MOVE BCD3A,BIN8 MOVE BIN9,W0 LOOK IF ELEMENTNUMBER MOVE STR1A,=':' MATCH STR1A,BIN9,W1,BPOOL(BIN11),BIN12,W1 BOK UPDSET05 MOVE BIN9,W0 MOVE ELMNO,W1 B UPDSET07 UPDSET05 ADD BIN12,W1 XCOPY BIN9,W1,W1,BPOOL(BIN11),BIN12 ADD BIN12,W1 MOVE ELMNO,BIN9 UPDSET07 MOVE TABLE,BCD3A MOVE STR1A,=C'T' DLETE TABLE,W0,W2 INSRT TABLE,W2,W1,HEX00,W0 INSRT TABLE,W0,W1,STR1A,W0 UPDSET10 PERF DEDISC,W24 GET VALUSET BOK UPDSET20 CBE PINDTB,W0,UPDSET18 UPDSET15 PERF DEPOOL,W6,PINDTB,BIN10,STRG10A UPDSET18 CMP W0,W1 B DECO05 UPDSET20 MOVE BIN15,W0 WORK:=0 CALL ATTWB,BPOOL(PINDTB),W8,W11 CALL ATTDB,BPOOL(PINDTB),W0,W11 XCOPY BIN16,W1,W1,RPOOL(PINDTB),W17 XCOPY BIN15,W1,W1,RPOOL(PINDTB),W18 STORE ENDINDEX OF POOL SUB ELMNO,BIN16 ADD ELMNO,W1 TBT DOOL7,UPDSET24 JUMP IF NOT CURR FIELD TSTCTL 0 LOOK IF ALPHA BZ UPDSET30 JUMP IF BCD B UPDSET26 UPDSET24 TBT ALPHA,UPDSET30 JUMP IF BCD-NUM UPDSET26 XCOPY BIN8,W1,W1,BPOOL(PINDTB),W1 UPDSET28 PERF DEEDIT,W4 MOVE BIN6,W0 MATCH DEINPUT,BIN6,BIN8,STATSH,W0,BIN8 BOK UPDSET40 CBNE BIN9,W0,UPDSET15 ADD ELMNO,W1 NEXT ELEMENT ADD BIN16,W1 INCREMENT STARTINDEX OF POOL CMP BIN16,BIN15 JUMP ALL EL. OF POOL COMPARED BG DECN10 JUMP IF GRAETER B UPDSET28 UPDSET30 MOVE BCDI21(W2),FDVBCD(ELMNO) B UPDN50 UPDSET40 MOVE VSEIND,BIN16 INDEX OF CURR BUFF PERF DEPOOL,W6,PINDTB,BIN10,STRG10A CMP W0,W0 CONDITION ZERO B DECO05 * UPDCOD PERF DECOMP,BIN8 B DECO05 * UPDEMP CALL EMPTYT,DEINPUT BP DECEGL B DECNOT * * OPERAND IS VALUE-SET ELEMENT INDEX * UPDVSI MOVE BCDI21(W2),VSEIND LOAD VALUE SET ELINDEX B UPDN50 EJECT * UPDGOT GO TO VALIDATION (G) CLEAR BOOL4 F=NO RECORD CHANGE FOUND (R) CLEAR BOOL8 F=NO RECORD CHANGE FOUND (N) ADD BIN12,W1 ADJUST POINTER SET BOOL6 T=COND TAB FOUND (G) XCOPY BIN14,W1,W1,BPOOL(BIN11),BIN12 *JE ADD BIN12,W1 ADJUST BUFFERPOINTER B UPDV00 * UPDFOR CHANGE FORMAT VALIDATION (R) MOVE DEBINW4,W4 CLEAR BOOL8 F=NO RECORD CHANGE FOUND (N) SET BOOL4 T=COND FORM CH FOUND (R) B UPDFO2 * UPDFON CHANGE FORMAT VALIDATION (N) MOVE DEBINW4,W3 (N) CLEAR BOOL4 F=NO RECORD CHANGE FOUND (R) SET BOOL8 T=COND FORM CHANGE FOUND (N) UPDFO2 CLEAR BOOL6 F=NO COND TAB FOUND ADD BIN12,W1 ADUST BUFFER POINTER MOVE BIN16,W0 WORK:=0 XCOPY BIN16,W1,W1,BPOOL(BIN11),BIN12 LOAD NUMB OF CHARS SUB BIN16,W128 ADJUST LIT.-INDICATOR ADD BIN12,W1 ADJUST BUFFER POINTER MOVE STSAVE(DEBINW4),HEX00 XCOPY STSAVE(DEBINW4),W0,BIN16,BPOOL(BIN11),BIN12 ADD BIN12,BIN16 ADJUST FOR NUMB OF CHARS B UPDV00 GO ON EJECT * UPDNUM MOVE BIN9,=X'3F' CALL MSKOUT,BIN9,BIN8 MOVE STR1A,='?' MOVE BIN10,BIN12 SAVE CURRENT POINTER MATCH BPOOL(BIN11),BIN10,DEBINW1,STR1A,W0,W1 BNOK UPDN06 JUMP IF NO '?':S MOVE BIN8,W0 COUNTER NUMB OF MATCHES MOVE BIN10,DEBINW1 LOAD EFF. INPUT LENGTH MATCH DEINPUT,BIN10,W1,HEX00,W0,W1 BOK UPDN01 JUMP IF NO SIGN MOVE BIN8,W1 ADJUST FOR SIGN UPDN01 ADD BIN9,BIN12 UPDN00 MOVE BIN10,BIN8 MATCH DEINPUT,BIN10,W1,BPOOL(BIN11),BIN12,W1 BNOK UPDN04 NOT OK MAYBE '?' UPDN02 ADD BIN8,W1 INCREMENT COUNTER CBE BIN8,DEBINW1,UPDN30 ALL CHARS MATCHED ADD BIN12,W1 ADJUST POINTER B UPDN00 GO ON MATCH UPDN04 MOVE BIN10,BIN12 LOAD MATCH POINT MATCH BPOOL(BIN11),BIN10,W1,STR1A,W0,W1 BOK UPDN02 GO ON '?' FOUND B UPDN30 UPDN06 CLEAR DOOL7 BNZ UPDN10 JUMP IF NOT CURR FIELD TSTCTL 0 LOOK IF ALPHA BZ UPDN40 JUMP IF NUMERIC CBE DEBINW1,BIN9,UPDN20 ADD BIN12,BIN9 ADJUST POINTER IN FVAL B DECNOT UPDN10 TBT ALPHA,UPDN40 JUMP IF BCD-NUM UPDN20 MOVE BIN10,W0 ADD BIN9,BIN12 MATCH DEINPUT,BIN10,DEBINW1,BPOOL(BIN11),BIN12,DEBINW1 UPDN30 MOVE BIN12,BIN9 BOK DECEGL B DECNOT UPDN40 NUMERIC MOVE STR64A,HEX00 COPY STR64A,W0,BIN9,BPOOL(BIN11),BIN12 MOVE BCDI21(W2),STR64A ADD BIN12,BIN9 UPDN50 CLEAR DOOL6 BZ UPDN55 CALL CLEARB,BCDI21(W2),W1 CALL SETB,BCDI21(W2),W2 UPDN55 IB BIN6,UPDN60,UPDN70,UPDN80 ADD BCDI21(W1),BCDI21(W2) B UPDN90 UPDN60 SUB BCDI21(W1),BCDI21(W2) B UPDN90 UPDN70 MUL BCDI21(W1),BCDI21(W2) B UPDN90 UPDN80 DIV BCDI21(W1),BCDI21(W2) UPDN90 MOVE BIN6,W0 CBNL BIN12,BIN13,UPDN95 JUMP IF END OF VALIDATION STRING MOVE STR64A,='+-*:' MATCH STR64A,BIN6,W4,BPOOL(BIN11),BIN12,W1 BOK UPDV35 JUMP IF ARITHMETIC SIGN UPDN95 MOVE BCDI21(W2),DEINPUT CMP BCDI21(W2),BCDI21(W1) DECO05 IB BIN5,DECO10,DECO20 JUMP ON COMPARE-SIGN-INDEX BZ DECEGL = B DECNOT /= DECO10 BEOF DECEGL > B DECNOT /> DECO20 BERR DECEGL < /< DECNOT CLEAR DOOL1 BNZ DECOOK VALID CBE PINDTB,W0,DECONO JUMP IF NOT SET CMP BIN9,W0 LOOK IF ALL ELEMENTS BNZ UPDSET15 JUMP IF NOT ADD ELMNO,W1 NEXT ELEMENT ADD BIN16,W1 INCREMENT STARTINDEX OF POOL CBG BIN16,BIN15,DECN10 JUMP ALL EL. OF POOL COMPARED MOVE BCDI21(W1),FDVBCD(ELMNO) NEXT ELEMENT VALUE B UPDN95 GO ON NEXT COMPARE DECN10 XCOPY BIN15,W0,W2,RPOOL(PINDTB),W13 FETCH LINK FORWARD CMP BIN15,W0 JUMP IF WHOLE TABLE VALIDATED BE UPDSET15 JUMP IF EQUAL MOVE ELMNO,BIN16 LOAD SAERCH ELEMENT NEXT SEGM. PERF DEPOOL,W6,PINDTB,BIN10,STRG10A RELEASE B UPDSET10 GO ON READ NEXT SEGMENT DECEGL CLEAR DOOL1 BZ DECOTK VALID EJECT DECONO MOVE BIN10,W21 V OR TBT BOOL6,DECOMT JUMP IF COND TAB FOUND TBT BOOL8,DECOMT JUMP IF RECORD CH FOUND TBT BOOL4,DECOMT JUMP IF RECORD CH FOUND SET DOOLB ITEM NOT VALID B DECOMT EJECT DECOTK CBE PINDTB,W0,DECOOK JUMP IF EOF VALUE-SET/NO VSET MOVE VSEIND,BIN16 INDEX OF CURR BUFF DECOOK MOVE BIN10,W20 & CLEAR DOOLB ITEM VALID DECOMT CLEAR DOOL7 CBE PINDTB,W0,DECO33 PERF DEPOOL,W6,PINDTB,BIN10,STRG10A DECO33 CBNL BIN12,BIN13,DECEND MOVE BIN9,W0 MOVE BIN16,=W'29' MATCH VALSTR,BIN9,BIN16,BPOOL(BIN11),BIN12,W1 BOK DECO40 DECO35 XCOPY BIN8,W1,W1,BPOOL(BIN11),BIN12 CALL TESTB,BIN8,W8 BZ DECO38 MOVE BIN9,=X'3F' CALL MSKOUT,BIN9,BIN8 ADD BIN12,BIN9 DECO38 ADD BIN12,W1 B DECOMT DECO39 ';' FOUND CBNE BIN10,W20,DECO37 NOT = & PERF DENVCO CONDITIONAL BOOL SETTING DECO37 ADD BIN12,W1 CBNL BIN12,BIN13,DECEND END OF STRING MOVE BIN9,W0 MOVE STR6B,=C'DGRN' MATCH STR6B,BIN9,W4,BPOOL(BIN11),BIN12,W1 BNOK DECERR TBT DOOLB,DECEND IB BIN9,UPDGOT,UPDFOR,UPDFON B UPDV25 EJECT DECO40 IB BIN9,DECO41,DECO41,DECO41,DECO41,DECO41 C DECO42 C DECO41 C DECO42,DECO42,DECO42 C DECO42,DECO42,DECO42 C DECO41,DECO41,DECO41 C DECO41,DECO41 17-18 C DECO39 19=; C DECO43,DECO43, 20-21 C DECO41,DECO41,DECO41, 22-24 C DECO42,DECO46,DECO46, 25-27 C DECO41 ADD BIN12,W1 MESSAGE B DECO35 DECO43 CBNE BIN9,BIN10,DECO44 ADD BIN12,W1 ADJUST POINTER B UPDV00 DECO44 CBE BIN10,W20,DEC050 DECO41 ADD BIN12,W1 B DECOMT DECO42 ADD BIN12,W2 B DECOMT EJECT DECO46 CONDITIONAL FORMAT CH ADD BIN12,W1 ADUST BUFFER POINTER MOVE BIN16,W0 WORK:=0 XCOPY BIN16,W1,W1,BPOOL(BIN11),BIN12 LOAD NUMB OF CHARS SUB BIN16,W128 ADJUST LIT.-INDICATOR ADD BIN12,W1 ADJUST BUFFER POINTER ADD BIN12,BIN16 ADJUST FOR NUMB OF CHARS B DECOMT DEC050 PERF DENVCO CONDITIONAL BOOL SETTING B DECOMT EJECT DECERR SET DOOLB MOVE DEBINW4,W2 UNDEFINED ERROR MOVE BIN10,W0 DECEND CLEAR DOOL4 BZ DECE10 * RESTORE POINTERS TO VAL-STRING MOVE BIN11,WORK(W6) MOVE BIN12,WORK(W7) MOVE BIN13,WORK(W8) ADD BIN12,W1 GETFLD 0,DEBINW3,BIN9 GET INIT. FIELD UPDRET DECE10 TBF DOOLB,DECE20 CBE DEBINW4,W2,DECE30 DECE20 CBE BIN10,W20,DEC050 '&' DECE30 MOVE DEINPUT,STATSH RESTORE KEYED IN VALUE MOVE DEBINW3,NUMBER CURRENT REC.NUMBER CBE DEBINW3,W0,UPDR05 NOT BATCHHEAD CBG DEBINW3,BDPOIN(W2),UPDR10 JUMP IF ENTRY OF NEW RECORD CLEAR BOOL3 CHANGE FORMAT (R) TBT DOOL2,UPDR10 JUMP IF INSERT UPDR05 CLEAR BOOLS FOR FORMAT CLEAR BOOL7 CHANGE IN CORRECTION OR IF BATCHEAD=N UPDR10 MOVE BIN11,W0 XCOPY BIN11,W1,W1,BIN3,W0 XCOPY BIN3,W0,W1,W0,W0 UPDR20 CLEAR REWRT UPDFLD = 1? BNZ UPDR30 YES! MOVE DEBINW3,W0 B UPDR40 UPDR30 MOVE DEBINW3,W1 UPDR40 RET PEND DENVCO PROC MOVE BIN10,W0 TBT BOOL6,DECOFG JUMP IF COND TAB TBT BOOL8,DECOFN JUMP IF RECORD CH FOUND TBT BOOL4,DECOFR JUMP IF RECORD CHANGE FOUND RET DECOFG SET BOOL5 T=VALID COND TAB RET DECOFN SET BOOL7 T=VALID RECORD CHANGE (N) RET DECOFR SET BOOL3 T=VALID RECORD CHANGE (R) RET PEND END