|
|
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: 14226 (0x3792)
Notes: pts_type(SC)
Names: »DEREC2.SC«
└─⟦48601905a⟧ Bits:30009668 Philips computer tape "600121"
└─⟦this⟧ »S:DE/DEREC2.SC«
└─⟦5c22ed822⟧ Bits:30009675 Philips computer tape "600209"
└─⟦this⟧ »DEN10/DEREC2.SC«
└─⟦79fbed147⟧ Bits:30009697 Philips computer tape "600414"
└─⟦this⟧ »S:DE/DEREC2.SC«
└─⟦bf903a231⟧ Bits:30009665 Philips computer tape "600109"
└─⟦this⟧ »DEN10/DEREC2.SC«
└─⟦d2a299635⟧ Bits:30009698 Philips computer tape "600415"
└─⟦this⟧ »S:DE/DEREC2.SC«
IDENT DEREC2 REL 10.0 80-04-11 80-04-14/DALI DDUM DEDDIV PDIV ENTRY DEREC2 ENTRY DEOPBC OPEN BATCH-ROUTINE * * EXTERNAL REFERENCES TO SCREEN * EXT DECLRA EXT DECLRD EXT DERR EXT DERROR * * EXTERNAL REFERENCES FOR DISC-ROUTINES EXT DEDISC EXT RESTOR EXT DERECS EXT DEREFO EXT UPDBOL EXT UPDBIN EXT DEACC EXT DELAST EXT ATTWB EXT SAVE EXT DEPOOL EXT OPCL EXT OFRSP EXT DEPRUT GET PROGRAMNUMBER EXT CLEARB EXT CMPIND EXT SETB EXT TESTB EXT EMPTYT INCLUDE DELITT EJECT DEOPBC PROC FC ************************************** * HANDLE BATCHHEAD FORMAT * THESE ROUTINES USE THE DENTER-SCREEN ************************************** IB FC,RETUBC,ERRBC CALL TESTB,RECFIL,FILINDUS LOOK IF RECOV BZ OPBC00 MOVE DEBINW4,=W'37' RECOVERY RUNNING B REC060 OPBC00 PERF DERECS,W11 BOK OPBC09 CALL TESTB,RECFIL,FILINDUS LOOK IF RECOV. BZ REC060 EJECT * * START RECOVERY OF THIS USERFILE * SET DOOL3 BNZ REC060 AN OTHER TERMINAL HAS ALREADY OPENED THIS USERFILE FOR RECOVERY. PERF DELAST,W10,DEKTAB6 MOVE JOBNAME,HEX00 REC050 MOVE BATCH,HEX00 PERF DEDISC,W21 GET NEXT JOBNAME BOK REC100 MOVE BCDI21(W3),W0 CLOBBERED BY RECOVERY MOVE JOBNAME,STSAVE(W1) MOVE BATCH,STSAVE(W2) CBE DEBINW4,W9,REC075 NOT FOUND CALL CLEARB,RECFIL,FILINDUS REC060 MOVE BIN3,DEBINW4 SAVE ERRORCODE MOVE DEBINW1,W0 MOVE DEBINW2,W4 B REBC20 REC075 RELEASE BUFFERS PERF DEPOOL,W6,PJOBCUR,DEBINW3,STRG10A PERF DEPOOL,W6,PINACC,DEBINW3,STRG10A PERF DEPOOL,W6,PINDFR,DEBINW3,STRG10A CALL CLEARB,RECFIL,FILINDUS B OPBC00 REC100 PERF DEPOOL,W6,PJOBCUR,DEBINW3,STRG10A REC110 PERF DEPOOL,W6,PINACC,DEBINW3,STRG10A PERF DEPOOL,W6,PINDFR,DEBINW3,STRG10A CALL RESTOR,W0,W4,PWBDB4 RESTORE RBUF WB10 MOVE BIN3,=W'34' GET NEXT BATCHNAME PERF DEDISC,BIN3 BNOK REC050 MOVE BCDI21(W3),W0 PERF DERECS,W11 BNOK REC110 CLEAR DOOL1 BZ REC110 MOVE BIN3,W1 REC150 MOVE ACK(BIN3),=D'0' ADD BIN3,W1 CALL CMPIND,BIN3,ACK(W1) BOK REC150 CALL UPDBOL,BDSTAT MOVE BDPOIN(W2),W0 PERF DERECS,W5 GET CURRENT BOK REC400 REC230 CLEAR BDAACT CALL UPDBIN,BDSTAT CALL RESTOR,W0,W4,PWBDB4 RESTORE RBUF WB10 PERF DEDISC,W18 CLOSE BATCH B REC110 REC400 CBE BIN3,W10,REC230 JUMP IF EMTY BATCH PERF DELAST,W7,DEKTAB6 OPBC05 PERF DEACC,W0 NORMAL ACCUMULATION ADD BCDI21(W3),=D'1' INCREASE WANTED RECNO PERF DERECS,W4 GET NEXT BNOK REC500 PERF DERECS,W13 B OPBC05 REC500 PERF DERECS,W3 ENTER LAST SECTOR B REC230 EJECT * * OPEN ROUTINE * OPBC09 CLEAR DOOL4 DELETE BATCH BZ OPBC10 CALL RESTOR,W0,W4,PWBDB4 RESTORE RBUF WB10 SET DOOL4 MOVE BIN13,=W'27' PERF DEDISC,BIN13 DELETE BATCH B REBC03 OPBC10 SET SOOL1 STATUSLINE DISPLAY OPBC20 CLEAR DECHANGE OPBC30 MOVE DEBINW2,W0 RET RETUBC CLEAR BDAACT CALL UPDBIN,BDSTAT CALL RESTOR,W0,W4,PWBDB4 RESTORE RBUF WB10 PERF DEDISC,W18 WRITE ACCUMULATORS REBC03 BNERR REBC10 ERRBC PERF DERROR,DEKTAB6 REBC10 CLEAR SOOL1 CLEAR SOOL2 CLEAR DENOCHAN SET DOOL5 MOVE DEBINW2,W3 REBC20 PERF DEPOOL,W6,PINDFR,DEBINW3,STRG10A PERF DEPOOL,W6,PJOBCUR,DEBINW3,STRG10A PERF DEPOOL,W6,PINACC,DEBINW3,STRG10A PERF DEPRUT,PRNUM,BIN1,BIN2 SET BOOL2 CALL RESTOR,W0,W16,PWBDB4 RESTORE ORIGINATE ADRESSES TO WORKBLOCKS AND DESCRIPTORS MOVE DEBINW4,BIN3 RET PEND EJECT DEREC2 PROC FC IB FC,DELREC,INSREC,INSREC,OPENBC,ENTINS DELREC MOVE BIN12,CURSEC SAVE CURRENT SECTOR DLETE RBUF,PRECCUR,RECLNTH XCOPY BIN14,W0,W2,RBUF,W6 GET USED SPACE SUB BIN14,RECLNTH AND DECREASE IT WITH XCOPY RBUF,W6,W2,BIN14,W0 DELETED RECLNTH CBE BIN14,W10,DELR20 JUMP IF EMPTY SECTOR DELR10 MOVE BIN14,W23 B DELR40 GET PREVIOUS RECORD DELR20 CBNE CURSEC,BDPOIN(W1),DELR30 XCOPY BDPOIN(W1),W0,W2,RBUF,W2 DELR30 MOVE BIN14,W17 DELR40 PERF DEDISC,BIN14 DELETE CURRENT SECTOR BERR DRNO00 HANDLE ERROR SUB BDPOIN(W2),W1 DECREASE NUMBER OF RECORDS TBF DBOFOR,DELR50 SUB BDPOIN(W4),W1 DELR50 MOVE BCD13A,NUMBER TEST DBOMVR BZ DROK00 TEST DBOVER VERIFIED RECORD BNZ DROK00 YES SUB BDPOIN(W5),W1 B DROK00 EJECT ****************************** * RESERV SPACE FOR INSERTION * * OF A NEW DATARECORD. * ****************************** INSREC FC= 9 XCOPY BIN14,W0,W2,RBUF,W6 MOVE PRECPR,PRECCUR ADD PRECCUR,RECLNTH XCOPY BIN10,W0,W2,RBUF,W4 LINK TO NEXT XCOPY RBUF,W6,W2,PRECCUR,W0 ADJUST USED SPACE PERF DEDISC,W14 ENTER FIRST PART OF BERR DRNO00 CURRENT SECTOR MOVE BIN7,PRECPR SUB BIN7,W10 DLETE RBUF,W10,BIN7 COPY LAST ENTERED MOVE BIN8,CURSEC SAVE CURRENT SECTOR CBL PRECCUR,BIN14,INSR10 JUMP IF MORE IN SECTOR MOVE BIN9,BIN8 INSR05 XCOPY RBUF,W4,W2,BIN10,W0 LINK TO NEXT SECTOR MOVE BIN14,W23 PERF DEDISC,BIN14 WRITE CURRENT SECTOR BERR DRNO00 B INSR20 INSR10 PERF DEDISC,W14 ENTER NEW SECTOR BERR DRNO00 MOVE BIN9,CURSEC DLETE RBUF,W10,RECLNTH SUB BIN14,PRECCUR ADD BIN14,W10 XCOPY RBUF,W6,W2,BIN14,W0 USED SPACE PART TWO B INSR05 INSR20 CBE BIN10,W0,INSR30 JUMP IF LAST SECTOR MOVE CURSEC,BIN10 MOVE BIN13,=W'33' PERF DEDISC,BIN13 BERR DRNO00 XCOPY RBUF,W2,W2,BIN9,W0 LINK TO PREV MOVE BIN14,W23 PERF DEDISC,BIN14 WRITE CURRENT SECTOR BERR DRNO00 B INSR40 INSR30 XCOPY BDPOIN(W1),W0,W2,CURSEC,W0 LAST ENTERED RECORD INSR40 MOVE CURSEC,BIN8 MOVE BIN13,=W'33' PERF DEDISC,BIN13 BERR DRNO00 MOVE PRECPR,W10 MOVE PRECCUR,W10 XCOPY RBUF,PRECCUR,W1,BPOOL(PINDFR),W0 B DROK00 EJECT ************************************** * * READ IN CURRENT JOBDEFINITION AND * OPEN WANTED BATCH. * ************************************** OPENBC FC=11 MOVE DEBINW4,W0 PERF DEPRUT,PRNUM,BIN11,BIN12 CBNE BIN11,W7,OPE030 JUMP IF NOT CALL EMPTYT,JOBNAME CONVERSION BZ OPE050 NOT EMPTY B OPE100 OPE030 CBNE BIN11,W4,OPE035 JUMP IF NOT ENTRY CBNE BIN12,W5,OPE050 JUMP IF NOT DELETE B OPE040 OPE035 CBNE BIN11,W5,OPE050 CBE BIN12,W3,OPE050 RECORD-LEVEL OPE040 CALL TESTB,RECFIL,FILINDUS LOOK IF RECOVERY BZ OPE100 OPE050 CBNE PJOBCUR,W0,OPE100 JUMP IF ALREADY A JOBDEFINITION IN POOL MOVE DEINPUT,HEX00 COPY DEINPUT,W0,W6,JOBNAME,W0 PERF DEDISC,W2 GET JOB-DEFINITION BNERR OPE100 GETFLD 0,W2,BIN3 FILED JOBNAME B DRNO00 OPE100 TBT DOOL3,OPE250 JUMP IF USERFILE OPEN PERF OPCL,W3 OPEN USERFILE BOK OPE200 BERR OPE150 CALL SETB,RECFIL,FILINDUS OPE150 GETFLD 0,W3,BIN3 FIELD BATCHNAME COPY DEINPUT,W0,W6,BATCH,W0 OPE170 B OPE700 OPE200 SET DOOL3 USERFILE OPENED CALL TESTB,RECFIL,FILINDUS LOOK IF RECOVERY BZ OPE260 JUMP IF NOT MOVE BIN3,=W'37' ERROR REC.RUN PERF DEPOOL,W6,PJOBCUR,DEBINW3,STRG10A B OPE760 OPE250 CALL TESTB,RECFIL,FILINDUS LOOK IF RECOVERY BNZ OPE300 JUMP IF RUNNING OPE260 LOOK IF BATCHDATA AND BATCHHEADER ARE TO BE USED CBNE BIN11,W7,OPE265 NOT CONVERSION CBE PJOBCUR,W0,OPE270 OPEN USERFILE ONLY MOVE BIN12,W0 ADJUST RETURNPOINT IN DERECS. B OPE280 OPE265 CBNE BIN11,W5,OPE290 JUMP IF NOT SEARCH IB BIN12,OPE270,OPE280,OPE300 OPE270 MOVE BIN12,W1 ADJUST RETURNPOINT IN DERECS. B DROK00 OPE280 MOVE STR6A,HEX00 CBE BATCH,STR6A,OPE270 B OPE300 OPE290 TBF DOOL8,OPE300 PERF DEDISC,W6 OPEN NEW BOK OPE380 B OPE690 OPE300 PERF DEDISC,W7 OPEN OLD BNOK OPE350 XCOPY BIN13,W0,W2,RBUF,W6 GET USED SPACE CBNE BIN13,W10,OPE380 NOT EMPTY BATCH! MOVE DEBINW4,W9 NOT FOUND B OPE695 DELETE BATCH OPE350 CBNE DEBINW4,=W'27',OPE170 B OPE700 CBNE BIN11,W5,OPE170 JUMP IF NOT SEARCH CBE BIN12,W3,OPE170 RECORD-LEVEL B DROK00 OPE380 CALL ATTWB,BPOOL(PINACC),W2,W13 CALL UPDBOL,BDSTAT CALL TESTB,RECFIL,FILINDUS BZ OPE400 JUMP IF NOT RECOVERY TBT BDAACT,OPE560 JUMP IF BATCH IS TO BE RECOVERED B DROK00 BATCH WILL NOT BE OPENED OPE400 THOS IS A NORMAL OPEN CBNE BIN11,W5,OPE410 JUMP IF NOT SEARCH CBE BIN12,W3,OPE550 RECORD-LEVEL TBF BDAACT,OPE405 SET DOOL1 OPE405 B DROK00 OPE410 CBNE BIN11,W4,OPE415 JUMP IF NOT ENTRY CBNE BIN12,W5,OPE415 AND NOT DELETE MOVE BIN11,BIN12 B OPE270 OPE415 TBF DOOL8,OPE420 JUMP IF OPEN OLD TBF DOOL7,OPE540 JUMP IF NOT TESTBATCH SET BDATES B OPE540 OPE420 TBT DOOL7,OPE460 JUMP IF TESTENTERING TBF BDATES,OPE500 JUMP IF NOT TESTBATCH OPE440 MOVE DEBINW4,=W'33' ERROR B OPE710 OPE460 TBT BDATES,OPE540 JUMP IF TESTBATCH MOVE DEBINW4,=W'34' ERROR B OPE710 OPE500 TBF VERIFM,OPE540 TBT BDAMVR,OPE540 OPE520 MOVE DEBINW4,W8 B OPE710 OPE540 CBE BIN11,W7,OPE580 CONVERSION OPE550 SET BDAACT BATCH DURING ENTERING BZ OPE580 OPE560 RECOVERYOPENED BATCH SET DOOL1 B OPE680 OPE580 CALL TESTB,RECFIL,FILINDUS LOOK IF RECOV. BNZ DROK00 CBNE BIN11,W7,OPE620 JUMP IF NOT MOVE BIN12,W4 RETURN TO DROK00 IN DERECS B OPE680 OPE600 MOVE DEBINW4,W4 B OPE710 OPE620 TBT DOOL8,OPE640 JUMP IF OPEN NEW OPE630 TBT BDAFRO,OPE600 FROZEN BATCH OPE640 CLEAR BDABAL CALL UPDBIN,BDSTAT CALL RESTOR,W0,W4,PWBDB4 RESTORE RBUF WB10 PERF DEDISC,W18 WITE BATCHDATA BNOK OPE690 TBF DOOL8,OPE660 JUMP IF OPEN OLD MOVE BIN13,W23 WRITE CURR.SECTOR MOVE RBUF,HEX00 XCOPY RBUF,W6,W2,W10,W0 USED SPACE B OPE670 OPE660 MOVE BIN13,=W'33' READ CURR.SECTOR OPE670 PERF DEDISC,BIN13 BNOK OPE690 OPE680 CALL ATTWB,BPOOL(PJOBCUR),W0,W12 MOVE PINDFR,W0 CALL TESTB,RECFIL,FILINDUS LOOK IF RECOV. BNZ OPE681 YES! CBE BIN11,W5,OPE683 SEARCH RECORD-LEVEL OPE681 MOVE DEINPUT,FORTAB(W20) GET NAME OF BATCHHEAD MOVE FRMTPNTR,SYMREC(W10) PERF DEDISC,W10 GET FORMAT BNOK OPE690 MOVE FORMAT,FORTAB(W20) SAVE BATCHHEADNAME B OPE684 OPE683 MOVE FORMAT,HEX00 SEARCH STRART OPE684 MOVE PRECCUR,W10 START IN RBUF CALL TESTB,RECFIL,FILINDUS LOOK IF RECOV. BNZ OPE686 YES! CBE BIN11,W5,OPE688 SEARCH RECORD-LEVEL OPE686 TBT DOOL8,OPE685 PERF DEREFO BOFL OPE710 OPE685 MOVE SYMREC(W10),FRMTPNTR OPE688 SET DEPROMPT CALL ATTWB,BPOOL(PINACC),W2,W13 MOVE PRECPR,PRECCUR MOVE NUMBER,W0 CALL UPDBIN,BIN1 B DROK00 OPE690 TBF DOOL8,OPE710 JUMP IF OPEN OLD CBE DEBINW4,W8,OPE700 JUMP IF ERROR IS ALREADY DEFINED IF SO DELETE CURRENT BATCH OPE695 MOVE BIN3,DEBINW4 MOVE BIN13,=W'27' PERF DEDISC,BIN13 DELETE BATCH MOVE DEBINW4,BIN3 OPE700 MOVE BIN4,W3 MOVE BIN3,DEBINW4 SAVE ERRORCODE B OPE720 OPE710 MOVE BIN4,W0 MOVE BIN3,DEBINW4 SAVE ERRORCODE PERF DEPOOL,W6,PINACC,DEBINW3,STRG10A OPE720 GETFLD 0,BIN4,DEBINW4 GET LAST FIELD CBE BIN11,W7,OPE760 CALL TESTB,RECFIL,FILINDUS RECOVERY? BNZ OPE760 YES! PERF DEPOOL,W6,PJOBCUR,DEBINW3,STRG10A CLEAR DOOL3 BZ OPE760 PERF OPCL,W4 CLOSE USERFILE OPE760 CALL RESTOR,W0,W4,PWBDB4 RESTORE RBUF WB10 MOVE DEBINW4,BIN3 * B DRNO00 EJECT ENTINS FC=12 ADD PRECCUR,RECLNTH XCOPY RBUF,W6,W2,PRECCUR,W0 STORE USED SPACE MOVE PRECCUR,W10 DROK00 CMP W1,W1 RET DRNO00 CMP W1,W0 RET PEND END