|
|
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: 20442 (0x4fda)
Notes: pts_type(SC)
Names: »MOD173.SC«
└─⟦26dca8ec8⟧ Bits:30009711 Philips computer tape "RÅKON-DIVFMT"
└─⟦this⟧ »REMIT2/MOD173.SC«
IDENT MOD173 821012 NJ DDUM KMD08 PDIV ENTRY BCHKPR ENTRY STREDT ENTRY AD46 ENTRY MEMIX1 ENTRY MEMIX2 ENTRY UPDMEM ENTRY DIVRUT EXT TXTEDT EXT FSOLVE EXT CHDATO EXT WAITF EXT RAREAD EXT RAWRIT EXT NEWLIN EXT FMREMP EXT FMOD EXT GENWRS EXT SPERR EXT ASSG EXT IDXGET EXT RESTIX INCLUDE EQUATE EJECT BCHKPR PROC P * PRINT BUNDTCHECKS * P = 0 BCHK10 - ADJUST PRINTER * P = 1 BCHK20 - LEV + TRANS 1 * P = 2 BCHK30 - TRANS 2 * P = 3 BCHK40 - TRANS 3 + PRINT * P = 4 BCHK50 - PRINT MOVE GSWBIN8,P ADD GSWBIN8,CBIN1 IB GSWBIN8,BCHK10,BCHK20,BCHK30,BCHK40,BCHK50 B BCHK90 * BCHK10 PRINTER ADJUST PERF FMREMP,CBIN1 GET FORMAT FBDTCHK MOVE SPINPUT,='X' MOVE GSWBIN5,CBIN17 BCHK15 PERF FMOD,GSWBIN5,SPINPUT WITH X SUB GSWBIN5,CBIN1 CBG GSWBIN5,CBIN0,BCHK15 B BCHK65 PRINT IT * BCHK20 INITIATE LEV + 1. TRANS PERF FMREMP,CBIN1 GET FORMAT FBDTCHK PERF FMOD,CBIN5,GTLEVNVN PERF FMOD,CBIN7,GTLEVADR PERF FMOD,CBIN10,GTLEVBY EDIT GSWSTR9,FPNR PERF FMOD,CBIN11,GSWSTR9 PERF FMOD,CBIN12,GTLEVPDI MOVE GTBSUM1,GTDUPF(CBIN4) PERF TXTEDT,CBIN1,CBIN1 B BCHK90 * BCHK30 ADD GTBSUM1,GTDUPF(CBIN4) PERF TXTEDT,CBIN1,CBIN2 B BCHK90 * BCHK40 ADD GTBSUM1,GTDUPF(CBIN4) PERF TXTEDT,CBIN1,CBIN3 B BCHK60 * BCHK50 CBE GSWBCD5,=D'1',BCHK90 NOTHING TO PRINT ? BCHK60 MOVE SPINPUT,CBLANKS EDIT SPINPUT,FREMTOT1 PERF FMOD,CBIN1,SPINPUT EDIT SPINPUT,FREMTOTS PERF FMOD,CBIN17,SPINPUT MOVE GSWSTR20,=X'434845434B42454C5C422A20' PERF FMOD,CBIN16,GSWSTR20 "CHECKBELOB" PERF FSOLVE BCHK65 MOVE GTBSUM1,=D'0' PERF GENWRS,GTHCDEV,EDITBUF PERF NEWLIN,CBIN7 TBF GTCHKPR,BCHK70 PERF NEWLIN,CBIN1 EXTRA LINEFEED ? CLEAR GTCHKPR B BCHK90 BCHK70 SET GTCHKPR BCHK90 CMP CBIN0,CBIN0 RET PEND EJECT STREDT PROC ADD GTDUPF(CBIN13),=D'0' ADD GTDUPF(CBIN14),=D'0' ADD GTDUPF(CBIN18),=D'0' ADD GTDUPF(CBIN19),=D'0' MOVE GSWSTR20,=X'00' MOVE SPINPUT,=X'00' MOVE GSWBIN7,GTTXTTKO MOVE TEXTCODE IB GSWBIN7,STRE03,STRE04,STRE05,STRE06,STRE07,STRE08 * NO FURTHER INFORMATION STRE03 EDIT SPINPUT,FREMINF1 B STRE80 * NR-1 STRE04 MOVE GSWBCD6,GTDUPF(CBIN13) NR-1 CBE GSWBCD6,=D'0',STRE04A CBG GSWBCD6,=D'99999999',STRE04B CPRNR? EDIT SPINPUT,FREMINF2 B STRE80 STRE04A EDIT SPINPUT,FREMINF1 B STRE80 STRE04B EDIT SPINPUT,FREMINF8 B STRE80 * NR-1 NR-2 STRE05 MOVE GSWBCD6,GTDUPF(CBIN13) NR-1 MOVE GSWBCD7,GTDUPF(CBIN14) NR-2 CBE GSWBCD6,=D'0',STRE05A 0 CBL GSWBCD6,=D'100000000',STRE05B GIRO MOVE GSWBIN5,CBIN7 CPR=CAS 7-9 B STRE05C STRE05A MOVE GSWBIN5,CBIN1 CASE 1-3 B STRE05C STRE05B MOVE GSWBIN5,CBIN4 CASE 4-6 STRE05C CBE GSWBCD7,=D'0',STRE05F CASE OK CBL GSWBCD7,=D'100000000',STRE05D GIRO ADD GSWBIN5,CBIN2 CPR=CASE + 2 B STRE05F STRE05D ADD GSWBIN5,CBIN1 CASE +1 STRE05F IB GSWBIN5,STRE05G,STRE05H,STRE05I,STRE05J, C STRE05K,STRE05L,STRE05M,STRE05N,STRE05O STRE05G EDIT SPINPUT,FREMINF1 0+0 B STRE80 STRE05H EDIT SPINPUT,FREMINF9 0+GIRO B STRE80 STRE05I EDIT SPINPUT,FREMINFA 0+CPR B STRE80 STRE05J EDIT SPINPUT,FREMINF2 GIRO+0 B STRE80 STRE05K EDIT SPINPUT,FREMINF3 GIRO+GIRO B STRE80 STRE05L EDIT SPINPUT,FREMINFB GIRO+CPR B STRE80 STRE05M EDIT SPINPUT,FREMINFC CPRNR+0 B STRE80 STRE05N EDIT SPINPUT,FREMINFD CPR+GIRO B STRE80 STRE05O EDIT SPINPUT,FREMINFE CPR+CPR B STRE80 * DATO-1 STRE06 MOVE GSWBCD6,GTDUPF(CBIN18) DATO-1 CBE GSWBCD6,=D'0',STRE06B CBL GSWBCD6,=D'800000',STRE06A PERF CHDATO MOVE GSWBCD6,GSWBCD7 STRE06A EDIT SPINPUT,FREMINF4 B STRE80 STRE06B EDIT SPINPUT,FREMINF1 B STRE80 * DATO-1 DATO-2 STRE07 MOVE GSWBCD6,GTDUPF(CBIN18) CBL GSWBCD6,=D'800000',STRE07A PERF CHDATO MOVE GTDUPF(CBIN18),GSWBCD7 STRE07A MOVE GSWBCD6,GTDUPF(CBIN19) CBL GSWBCD6,=D'800000',STRE07B PERF CHDATO MOVE GTDUPF(CBIN19),GSWBCD7 STRE07B MOVE GSWBCD6,GTDUPF(CBIN18) MOVE GSWBCD7,GTDUPF(CBIN19) DATO-2 MOVE GSWBIN5,CBIN1 CASE 1-2 CBE GSWBCD6,=D'0',STRE07C MOVE GSWBIN5,CBIN3 STRE07C CBE GSWBCD7,=D'0',STRE07D ADD GSWBIN5,CBIN1 STRE07D IB GSWBIN5,STRE07E,STRE07F,STRE07G,STRE07H STRE07E EDIT SPINPUT,FREMINF1 0+0 B STRE80 STRE07F EDIT SPINPUT,FREMINF6 0+>0 B STRE80 STRE07G EDIT SPINPUT,FREMINF4 >0+0 B STRE80 STRE07H EDIT SPINPUT,FREMINF5 >0+>0 B STRE80 * NR-1 DATO-1 STRE08 MOVE GSWBCD6,GTDUPF(CBIN18) CBL GSWBCD6,=D'800000',STRE08A PERF CHDATO MOVE GTDUPF(CBIN18),GSWBCD7 STRE08A MOVE GSWBCD6,GTDUPF(CBIN13) NR-1 MOVE GSWBCD7,GTDUPF(CBIN18) DATO-1 MOVE GSWBIN5,CBIN1 CBE GSWBCD6,=D'0',STRE08C CAS 1-2 CBG GSWBCD6,=D'99999999',STRE08B MOVE GSWBIN5,CBIN3 CASE 3-4 B STRE08C STRE08B MOVE GSWBIN5,CBIN5 CASE 5-6 STRE08C CBE GSWBCD7,=D'0',STRE08D ADD GSWBIN5,CBIN1 CASE +1 CBL GSWBCD7,=D'100000000',STRE08D ADD GSWBIN5,CBIN1 ASE + 1 STRE08D IB GSWBIN5,STRE08E,STRE08F,STRE08G, C STRE08H,STRE08I,STRE08J STRE08E EDIT SPINPUT,FREMINF1 0+0 B STRE80 STRE08F EDIT SPINPUT,FREMINF6 0+DATO B STRE80 STRE08G EDIT SPINPUT,FREMINF2 GIRO+0 B STRE80 STRE08H EDIT SPINPUT,FREMINF6 GIRO+DATO B STRE80 STRE08I EDIT SPINPUT,FREMINFC B STRE80 STRE08J EDIT SPINPUT,FREMINFF CPR+DATO B STRE80 STRE80 EDIT GSWSTR20,FREMBEL CMP CBIN0,CBIN0 RET PEND EJECT FREMINF1 FRMT FILLR ' ',21 FMEND FREMINF2 FRMT FMEL 'ZZZZZZZZZZ',GSWBCD6 FILLR ' ',11 FMEND FREMINF3 FRMT FMEL 'ZZZZZZZZZZ',GSWBCD6 FILLR ' ',1 FMEL 'ZZZZZZZZZZ',GSWBCD7 FMEND FREMINF4 FRMT FMEL '99V99V99',GSWBCD6 FILLR ' ',13 FMEND FREMINF5 FRMT FMEL '99V99V99',GSWBCD6 FILLR ' ',3 FMEL '99V99V99',GSWBCD7 FILLR ' ',2 FMEND FREMINF6 FRMT FMEL 'ZZZZZZZZZZ',GSWBCD6 FILLR ' ',1 FMEL '99V99V99',GSWBCD7 FILLR ' ',2 FMEND FREMINF8 FRMT FMEL '9999999999',GSWBCD6 FILLR ' ',11 FMEND FREMINF9 FRMT FILLR ' ',11 FMEL 'ZZZZZZZZZZ',GSWBCD7 FMEND FREMINFA FRMT FILLR ' ',11 FMEL '9999999999',GSWBCD7 FMEND FREMINFB FRMT FMEL 'ZZZZZZZZZZ',GSWBCD6 FILLR ' ',1 FMEL '9999999999',GSWBCD7 FMEND FREMINFC FRMT FMEL '9999999999',GSWBCD6 FILLR ' ',11 FMEND FREMINFD FRMT FMEL '9999999999',GSWBCD6 FILLR ' ',1 FMEL 'ZZZZZZZZZZ',GSWBCD7 FMEND FREMINFE FRMT FMEL '9999999999',GSWBCD6 FILLR ' ',1 FMEL '9999999999',GSWBCD7 FMEND FREMINFF FRMT FMEL '9999999999',GSWBCD6 FILLR ' ',1 FMEL '99V99V99',GSWBCD7 FILLR ' ',2 FMEND FPNR FRMT FMEL 'ZZZZ',GTLEVPNR FMEND FREMTOT1 FRMT FBT CBDTGIR,FRE110 FMEL '*******V**9,99-',GTBSUM1 FB FRE120 FRE110 FMEL 'ZZZZZZVZZ9BB99-',GTBSUM1 FRE120 FMEND FREMTOTS FRMT FMEL 'ZZZZZZZVZZ9,99-',GTBSUM1 FMEND FREMBEL FRMT FMEL 'ZZZZZZZVZZ9,99-',GTDUPF(CBIN4) FMEND EJECT AD46 PROC * MERGE DK07 + DK17 INTO DK27 TBT CAD41FLG,AD46END SET CAD41FLG PERF WAITF,CLOCK EDWRT KJTAPE,AD46FM1 DSC0 DK08,CLOSE DSC0 DK09,CLOSE DSC0 DK11,CLOSE MOVE GSWBIN4,=W'27' PERF ASSG,CBIN1,DK27,GSWBIN4 BNOK AD46950 MOVE GSWBIN4,CBIN0 DK07 MOVE GSWBIN6,CBIN0 DK27 MOVE GSWBIN8,CBIN1 DK17 PERF READ07 READ FIRST FROM INDEXFILE BNOK AD46950 AD46010 SWITCH CBE CMEMIX(GSWBIN8),=D'9999999999',AD46040 LAST? CBL CMEMIX(GSWBIN8),GTLEVNR,AD46030 PERF WRIT27,CBIN7 BNOK AD46090 PERF READ07 BOK AD46010 B AD46090 AD46030 PERF WRIT27,CBIN17 ADD GSWBIN8,CBIN1 CBNG GSWBIN8,=W'48',AD46010 AD46040 COPY REST OF DK07 PERF WRIT27,CBIN7 BNOK AD46090 PERF READ07 BOK AD46040 AD46090 CBNE GTWBCD1,=D'10',AD46950 ANY ERROR * CLEAR DK17 MOVE GSWBIN8,=W'48' AD46110 PERF WRIT17 SUB GSWBIN8,CBIN1 BP AD46110 * COPY DK27 BACK TO DK07 MOVE GSWBIN6,CBIN1 MOVE CIXFREE,CBIN0 AD46130 MOVE GTREMBUF,=C' ' MOVE GSWBIN1,CBIN7 PERF RAREAD,DK27,=D'27',GTREMBUF,GSWBIN1,GSWBIN6 BNOK AD46950 PERF RAWRIT,DK07,=D'7',GTREMBUF,GSWBIN6 BNOK AD46950 * UPDATE CIXFREE WITH 1. 9999999999-RECORD XCOPY GSWSTR2,CBIN0,CBIN2,GTREMBUF,CBIN0 CBNE GSWSTR2,=X'9999',AD46140 CBNE CIXFREE,CBIN0,AD46140 MOVE CIXFREE,GSWBIN6 AD46140 ADD GSWBIN6,CBIN1 SWITCH B AD46130 AD46950 MOVE GSWBIN1,=W'50' MOVE CIXLAST,CMEMPT(GSWBIN1) RESET CIXLAST PERF RESTIX DSC0 DK27,CLOSE PERF ASSG,CBIN1,DK08,CBIN8 PERF ASSG,CBIN1,DK09,CBIN9 PERF ASSG,CBIN1,DK11,CBIN11 CLEAR CLOCK EDWRT KJTAPE,AD46FM3 CLEAR CAD41FLG AD46END RET PEND READ07 PROC ADD GSWBIN4,CBIN1 MOVE GTREMBUF,=C' ' MOVE GSWBIN1,CBIN7 PERF RAREAD,DK07,=D'7',GTREMBUF,GSWBIN1,GSWBIN4 BNOK READ0790 MOVE GTLEVNR,=D'1' XCOPY GTLEVNR,CBIN1,CBIN5,GTREMBUF,CBIN0 B READ0730 READ0710 MOVE GTREMBUF,=X'99' READ0730 CMP CBIN0,CBIN0 READ0790 RET PEND WRIT17 PROC MOVE GTREMBUF,=X'99' PERF RAWRIT,DK17,=D'17',GTREMBUF,GSWBIN8 MOVE CMEMIX(GSWBIN8),=D'9999999999' MOVE CMEMPT(GSWBIN8),=X'7FFF' RET PEND WRIT27 PROC FILE ADD GSWBIN6,CBIN1 CBE CBIN17,FILE,WRIT2710 PERF RAWRIT,DK27,=D'27',GTREMBUF,GSWBIN6 BNOK WRIT2790 B WRIT2780 WRIT2710 MOVE SPINPUT,GTREMBUF XCOPY GTREMBUF,CBIN0,CBIN5,CMEMIX(GSWBIN8),CBIN1 XCOPY GTREMBUF,CBIN5,CBIN2,CMEMPT(GSWBIN8),CBIN0 PERF RAWRIT,DK27,=D'27',GTREMBUF,GSWBIN6 BNOK WRIT2790 MOVE GSWBCD6,CMEMPT(GSWBIN8) EDWRT KJTAPE,AD46FM2 MOVE GTREMBUF,SPINPUT WRIT2780 CMP CBIN0,CBIN0 WRIT2790 RET PEND AD46FM1 FRMT FILLR ' ',2 FTEXT '** ADM 46 START **' FMEND AD46FM2 FRMT FILLR ' ',2 FMEL 'ZZZ9999999',CMEMIX(GSWBIN8) FILLR ' ',4 FMEL '9999',GSWBCD6 FMEND AD46FM3 FRMT FILLR ' ',2 FTEXT '** ADM 46 SLUT **' FMEND EJECT MEMIX1 PROC LEVNR,INDX,LEVDEX * FIND OUT IF WANTED LEVNR IN MEMORY. * IF SO, INDX:=-1 * LEVDEX=POS IN STAM/VAR * GSWBIN9: FOUND LEV OR NEXT HIGHER MOVE GSWBIN4,CBIN1 MEMIX010 CBE LEVNR,CMEMIX(GSWBIN4),MEMIX020 BL MEMIX015 ADD GSWBIN4,CBIN1 CBNG GSWBIN4,=W'48',MEMIX010 MOVE INDX,=W'-1' MEMIX015 MOVE GSWBIN9,=W'-1' CMP CBIN1,CBIN0 RET NOT FOUND MEMIX020 MOVE GSWBIN9,GSWBIN4 FOUND MOVE LEVDEX,CMEMPT(GSWBIN4) MOVE INDX,=W'-1' INDICATE MEMTABLE CMP CBIN0,CBIN0 FOUND RET PEND MEMIX2 PROC MOVE GSWBIN1,=W'50' MOVE GSWBIN8,CMEMPT(GSWBIN1) SIDX170 MOVE GSWBIN1,CBIN7 PERF RAREAD,DK07,=D'7',GTREMBUF,GSWBIN1,GSWBIN8 XCOPY GSWBIN1,CBIN0,CBIN2,GTREMBUF,CBIN5 INDEX CBNE GSWBIN1,=X'0000',SIDX180 SUB GSWBIN8,CBIN1 BNZ SIDX170 SIDX180 MOVE CIXLAST,GSWBIN8 LOG. LAST RECORD MOVE GSWBIN8,=W'48' RESTORE SLAVEARRAY SIDX190 MOVE GSWBIN1,CBIN7 PERF RAREAD,DK17,=D'17',GTREMBUF,GSWBIN1,GSWBIN8 MOVE CMEMIX(GSWBIN8),=D'1' XCOPY CMEMIX(GSWBIN8),CBIN1,CBIN5,GTREMBUF,CBIN0 XCOPY CMEMPT(GSWBIN8),CBIN0,CBIN2,GTREMBUF,CBIN5 SUB GSWBIN8,CBIN1 BNZ SIDX190 CMP CBIN0,CBIN0 RET PEND EJECT UPDMEM PROC XINS300 MOVE GSWBIN1,CBIN7 PERF RAREAD,DK07,=D'7',GTREMBUF,GSWBIN1,CIXLAST * FIND AN INDEX TO BE USED, BOK XINS302 SUB CIXLAST,CBIN1 BP XINS300 B XINS400 XINS302 * FIND ROOM IN ARRAY MOVE GSWBIN4,=W'48' CBNE CMEMIX(GSWBIN4),=D'9999999999',XINS306 MOVE GSWBIN4,CBIN1 XINS305 CBL GTLEVNR,CMEMIX(GSWBIN4),XINS310 ADD GSWBIN4,CBIN1 CBNG GSWBIN4,=W'48',XINS305 XINS306 MOVE SPBINW4,CBIN21 FILE FILLED UP MOVE GTWBCD2,=D'17' MOVE GTWBCD1,=D'51' MOVE GSWSTR9,=C'DISCFEJL ' PERF SPERR B XINS400 XINS310 INSERT NEW LEV MOVE GSWBIN5,=W'48' MOVE GSWBIN1,=W'47' XINS320 MOVE CMEMIX(GSWBIN5),CMEMIX(GSWBIN1) SHIFT TO RIGHT MOVE CMEMPT(GSWBIN5),CMEMPT(GSWBIN1) CBE GSWBIN1,GSWBIN4,XINS330 MORE TO SHIFT? SUB GSWBIN5,CBIN1 YES, PLEASE DO SUB GSWBIN1,CBIN1 BP XINS320 B XINS400 XINS330 MOVE CMEMIX(GSWBIN4),GTLEVNR INSERT LEVNR XCOPY GSWBIN7,CBIN0,CBIN2,GTREMBUF,CBIN5 MOVE CMEMPT(GSWBIN4),GSWBIN7 * MAKE LAST INDEXREC UNAVAILABLE MOVE GTREMBUF,=X'99999999990000' PERF RAWRIT,DK07,=D'7',GTREMBUF,CIXLAST BNOK XINS400 SUB CIXLAST,CBIN1 * BACKUP CMEMIX MOVE GSWBIN4,=W'48' XINS340 MOVE GSWBCD6,CMEMIX(GSWBIN4) XCOPY GTREMBUF,CBIN0,CBIN5,GSWBCD6,CBIN2 MOVE GSWBIN1,CMEMPT(GSWBIN4) XCOPY GTREMBUF,CBIN5,CBIN2,GSWBIN1,CBIN0 PERF RAWRIT,DK17,=D'17',GTREMBUF,GSWBIN4 SUB GSWBIN4,CBIN1 BP XINS340 CMP CBIN0,CBIN0 RET XINS400 CMP CBIN1,CBIN0 RET PEND EJECT DIVRUT PROC P IB P,DIV010,DIV020,DIV030,DIV040, C DIV050,DIV060,DIV070,DIV080,DIV090 B DIVREX DIV030 DIV040 DIV050 DIV060 DIV070 DIV080 DIV090 DIVREX RET DIV010 * THIS IS THE LYNGBY VERSION OF GETNXT PERF MEMIX1,GTLEVNR,GSWBIN4,GSWBIN5 CURRENT LEVNR CBE GSWBIN9,=W'-1',DIV011 FOUND? MOVE GSWBIN4,GSWBIN9 CBL GTLEVNR,CMEMIX(GSWBIN4),DIV011 ADD GSWBIN4,CBIN1 DIV011 MOVE GSWBCD6,CMEMIX(GSWBIN4) NEXT IN SLAVEARRAY MOVE GSWBIN8,CMEMPT(GSWBIN4) NEXT POINTER ADD GTLEVNR,=D'1' PREVENT EXIT THRU MEMIX1 PERF IDXGET,GTLEVNR,GSWBIN4,GSWBIN5 RETURN NEXT MOVE GSWBIN1,CBIN7 MOVE GTREMBUF,=' ' PERF RAREAD,DK07,=D'7',GTREMBUF,GSWBIN1,GSWBIN4 MOVE GTLEVNR,=D'1' XCOPY GTLEVNR,CBIN1,CBIN5,GTREMBUF,CBIN0 CBE GTLEVNR,=D'9999999999',DIV018 CBG GSWBCD6,GTLEVNR,DIV013 NEXT WAS IN INDEXFILE MOVE GTLEVNR,GSWBCD6 SO WE HAVE FINISHED MOVE GSWBIN4,=W'-1' ALREADY MOVE GSWBIN5,GSWBIN8 DIV013 CMP CBIN0,CBIN0 RET DIV015 PERF IDXGET,GTLEVNR,GSWBIN4,GSWBIN5 RETURN NEXT ADD GSWBIN4,CBIN1 MOVE GSWBIN1,CBIN7 MOVE GTREMBUF,=' ' PERF RAREAD,DK07,=D'7',GTREMBUF,GSWBIN1,GSWBIN4 MOVE GTLEVNR,=D'1' XCOPY GTLEVNR,CBIN1,CBIN5,GTREMBUF,CBIN0 CBE GTLEVNR,=D'9999999999',DIV018 CMP CBIN0,CBIN0 RET DIV018 CMP CBIN1,CBIN0 RET * DIV020 MOVE CTXBUF,=C'LYNGBY-T]RB[K KOMMUNE ' RET * PEND END