|
|
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: 10944 (0x2ac0)
Notes: pts_type(SC)
Names: »TIOADM.SC«
└─⟦13e5fd45a⟧ Bits:30009699 Philips computer tape "600507"
└─⟦this⟧ »TOSSWORK/TIOADM.SC«
└─⟦bc20f3abf⟧ Bits:30009670 Philips computer tape "600126"
└─⟦this⟧ »TOSSWORK/TIOADM.SC«
IDENT TIOADM REL 11.0 81-02-10 870105041100 =1, CLOSE DISCARD EXECUTES CLOSE LOCK IF WRONG OPEN MODE REL 11.0 81-01-26 * *********************************************** * * TIOADM TOSS ABRIDGED DATA MANAGEMENT * ACTIVATION MODULE * *********************************************** * * * INPUT : A6 = FDB ADDRESS * A8 = ECB ADDRESS * A14 = STACK BASE * * OUTPUT: A2=DISPATCH ADDRESS * EJECT TIOADM * * **************** * ENTRY * **************** * * ENTRY TIOADM ACTIVATION ADDRESS * EJECT TIOADM * * **************** * EXTERNALS * **************** * EXTRN DWTOR EXTRN DWTTAB EXTRN FPB:BF BLOCK FACTOR EXTRN FPB:BO TOSS OPTION EXTRN FPB:EL ENLARGE FACTOR EXTRN DISIOE EXTRN ECBBA EXTRN ECBRL EXTRN ECBRC =1 EXTRN ECBCW1 EXTRN ECBCW2 EXTRN FPB:FO FILE ORGANISATION EXTRN FPB:RL RECORD LENGTH EXTRN FDBEXC EXCLUSIVE ACCESS EXTRN FDBRLE RECORD LENGTH EXTRN FDBOMD OPEN MODE EXTRN DMACTI ACTIVATE DM TASK EXTRN DMACTD ACTIVATE DM TASK #D EXTRN FDBSTA EXTRN FNDFDB EXTRN ADMTSK * EJECT TIOADM * * ***************************** * * * CONDITIONAL ASSEMBLY * * * ***************************** * * * A VERSION INCLUDING OPENEN MODES * EXTEND AND OUTPUT AND CLOSE DISCARD * IS OBTAINED BY SETTING X:A EQU 1 * X:A EQU 0 CRDEEX EQU X:A * MMUPAG EQU 0 * EJECT TIOADM * * ****************************** * * * CONSTANTS * * * ****************************** * * LFILEN EQU 256 L-FILE RECORD LENGTH * EJECT TIOADM * ********** * ORDTAB * ********** * * TABLE OVER ALLOWED ORDERS AND ORDER OPTIONS * ORDTAB EQU * DATA /821 OPEN INPUT UNPROTECTED DATA /921 OPEN INPUT PROTECTED DATA /A21 OPEN INPUT EXCLUSIVE DATA /3921 OPEN INPUT/OUTPUT PROTECTED DATA /3A21 OPEN INPUT/OUTPUT EXCLUSIVE ORDOP1 EQU *-ORDTAB IFT CRDEEX=1 DATA /3221 OPEN OUTPUT RANDOM EXCLUSIVE DATA /5221 OPEN EXTEND EXCLUSIVE DATA /1221 OPEN OUTPUT SEQUENTIAL EXCLUSIVE XIF ORDOPE EQU *-ORDTAB IFT CRDEEX=1 DATA /222 CLOSE DISCARD XIF ORDCLO EQU *-ORDTAB DATA /022 CLOSE LOCK ORDRFP EQU *-ORDTAB DATA /3 READ FILE PARAMETERS ORDSQW EQU *-ORDTAB DATA /006 WRITE SEQUENTIAL DATA /107 REWRITE DATA /108 DELETE DATA /106 WRITE RANDOM ORDRED EQU *-ORDTAB DATA /102 READ DIRECT ORDLGT EQU *-ORDTAB LENGTH OF TABLE * EJECT TIOADM * * ********** * OPEMOD * ********** * * BIT MAP OVER ALLOWED COMBINATIONS * IO FUNCTIONS VS. OPEN MODES * * OPEMOD EQU * DATA /1010 IN UNPRO,IN PROT DATA /101F INP EXC,IN/OUT PROT DATA /1F09 IN/OUT EXC,OUT RAN DATA /0101 EXTEND EXC,OUT SEQ * EJECT TIOADM * * * INPUT : A6 = FDB ADDRESS * A8 = ECB ADDRESS * A14 = STACK BASE 2-LEVEL STACK * TIOADM EQU * LD A1,DWTTAB,A6 USER TTAB ADDRESS LDR* A2,A8 FILE CODE ANK A2,/FF LDK A5,0 CF A14,FNDFDB LDK A2,0 SCR A2,A4 RESET STATUS LD A7,DWTOR,A6 GET ORDER AND OPTION LDK A2,/20 ORDER BIT MASK LDK A3,ORDLGT LENGTH OF TABLE TIOA20 EQU * SUK A3,2 NEXT ORDER IN TABLE RF(N) ER:IRQ ERROR: NOT ALLOWED ORDER SRL A2,1 BIT MASK CW A7,ORDTAB,A3 CHECK IF ORDER ALLOWED RB(NE) TIOA20 NO MATCH TRY NEXT SC A3,DWTOR+1,A6 SAVE ORDER DISPLACEMENT SUK A3,ORDOPE RF(N) TAOPEN OPEN * EJECT TIOADM * * CWK A6,FDBSTA RF(E) ER:IRQ FILE NOT OPENED LD A1,FDBEXC,A6 EXCUSIVE ACCESS POINTER RF(Z) TIOA30 NOT EXCLUSIVE ACCESS CW A1,DWTTAB,A6 RF(NE) ER:IRQ ERROR: NOT SAME USER TIOA30 EQU * IFT CRDEEX=1 SUK A3,ORDCLO-ORDOPE RF(N) TACLOD CLOSE DISCARD RF(Z) TACLOS CLOSE LOCK XIF IFT CRDEEX=0 SUK A3,ORDCLO-ORDOP1 RF(Z) TACLOS CLOSE XIF SUK A3,ORDRFP-ORDCLO RF(Z) TARFP READ FILE PARAMETERS SUK A3,ORDSQW-ORDRFP RF(Z) TIA100 WRITE SEQUENTIAL LD A4,ECBCW1,A8 CHECK RECORD NUMBER OR A4,ECBCW2,A8 RF(NP) ER:IRQ ILLEGAL SUK A3,ORDRED-ORDSQW RF(NZ) TIA100 NOT READ DIRECT LD A3,ECBRL,A8 GET REQUESTED LENGTH CW A3,FDBRLE,A6 RECORD LENGTH RF(NE) ER:IRQ ERROR: ILLEGAL REQUESTED LENGTH * EJECT TIOADM * * TIA100 EQU * LC A3,FDBOMD,A6 OPEN MODE ANK A3,/7F SRL A3,1 BYTE MODE LC A3,OPEMOD,A3 ANR A2,A3 RF(Z) ER:IRQ ERROR: INCORRECT OPEN MODE LDKL A2,ADMTSK DISPATCH ADDRESS ABL DMACTI ACTIVATE DM TASK * EJECT TIOADM * ********** * TAOPEN * ********** * * OPEN * TAOPEN EQU * CWK A6,FDBSTA RF(NE) ER:IRQ FILE CODE USED LD A1,ECBBA,A8 FPB ADDRESS ADK A1,8 IFT MMUPAG=0 LC A4,FPB:BO,A1 TOSS OPTION ANK A4,/FF SUK A4,1 RF(P) ER:IRQ OPTION NOT 0 OR 1 LC A4,FPB:FO,A1 FILE ORGANIZATION XIF IFT MMUPAG=1 EL A4,FPB:BO,A1 TOSS OPTION ANK A4,/FF SUK A4,1 RF(P) ER:IRQ OPTION NOT 0 OR 1 EL A4,FPB:FO-1,A1 FILE ORGANISATION XIF ANK A4,/FF SUK A4,3 RF(P) ER:IRQ ERROR ADK A4,2 RF(Z) ER:IRQ ERROR IFT CRDEEX=1 RF(P) TAOP10 L,X-FILE LDK A2,1 S-FILE TAOP10 EQU * EJECT TIOADM * * ADK A3,ORDOPE-ORDOP1 RF(N) TAOPE2 OPEN EXISTING FILE IFT MMUPAG=0 AD A2,FPB:RL,A1 RECORD LENGTH XIF IFT MMUPAG+CRDEEX=2 EL A3,FPB:RL,A1 SUK A4,1 FILE ORGANIZATION RF(NZ) TAOP20 NOT L-FILE CWK A3,LFILEN L-FILE LENGTH RF(NE) ER:IRQ ILLEGAL REQUESTED LENGTH TAOP20 EQU * ADR A2,A3 XIF IFT CRDEEX=1 RF(NP) ER:IRQ NOT ALLOWED ANK A2,/FF RF(NZ) ER:IRQ ERROR:ILLEGAL LENGTH IFT MMUPAG=0 SUK A4,1 FILE ORGANIZATION RF(NZ) TAOP20 NOT L-FILE LDKL A3,LFILEN L-FILE LENGTH CW A3,FPB:RL,A1 RECORD LENGTH RF(NE) ER:IRQ TAOP20 EQU * LC A2,FPB:BF,A1 BLOCKING FACTOR XIF IFT MMUPAG+CRDEEX=2 EL A2,FPB:BF,A1 BLOCK FACTOR SRL A2,8 XIF IFT CRDEEX=1 SUK A2,1 RF(Z) TARFP ACTIVATE #D RF ER:IRQ ILLEGAL BLOCK FACTOR XIF * EJECT TIOADM * * ********** * TAOPE2 * ********** * * TAOPE2 EQU * OPEN EXISTING FILE IFT MMUPAG=0 LD A2,FPB:EL,A1 ENLARGE FACTOR XIF IFT MMUPAG=1 EL A2,FPB:EL,A1 ENLARGE FACTOR XIF RF(Z) TARFP ACTIVATE #D ER:IRQ EQU * ILLEGAL REQUEST ABL DISIOE * * EJECT TIOADM * * ********** * TACLOD * * TACLOS * * TARFP * ********** * * CLOSE AND READ FILE PARAMETERS * * A4 = FILE CODE REFERENCE ADDRESS * * IFT CRDEEX=1 TACLOD EQU * CLOSE DISCARD ADK A1,0 RF(NZ) TACLOS OPENED EXCLUSIVE LDKL A1,/8000 RC: REQUEST ERROR =1 ST A1,ECBRC,A8 =1 LDK A1,ORDCLO PERFORM CLOSE LOCK =1 SC A1,DWTOR+1,A6 =1 XIF TACLOS EQU * CLOSE LOCK LDKL A2,FDBSTA ST A2,2,A4 FC ENTRY TARFP EQU * LDKL A2,ADMTSK DISPATCH ADDRESS ABL DMACTD ACTIVATE DM TASK #D * END