|
|
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: 7772 (0x1e5c)
Notes: pts_type(SC)
Names: »TPROC.SC«
└─⟦110b7ed5e⟧ Bits:30009664 Philips computer tape "600106"
└─⟦this⟧ »TOSSWORK/TPROC.SC«
└─⟦726a6c4ca⟧ Bits:30009685 Philips computer tape "600309"
└─⟦this⟧ »M:PTB/TPROC.SC«
└─⟦this⟧ »M:PTD/TPROC.SC«
└─⟦781e933ac⟧ Bits:30009686 Philips computer tape "600310"
└─⟦this⟧ »M:92T1/TPROC.SC«
└─⟦7e2393f80⟧ Bits:30009710 Philips computer tape "M_KONV"
└─⟦this⟧ »M:KONV/TPROC.SC«
└─⟦7f25f14aa⟧ Bits:30009683 Philips computer tape "600307"
└─⟦this⟧ »M:92F4/TPROC.SC«
└─⟦f740ae34d⟧ Bits:30009708 Philips computer tape "M_92F3"
└─⟦this⟧ »M:92F3/TPROC.SC«
IDENT TPROC REL 9.2 79-11-16 870105040920 * * ************************************************** * * PHILIPS TERMINAL SYSTEM PTS * * TPROC = TOSS LKM PROCESSORS * * * * * * ************************************************** * * * THIS MODULE CONTAINS THE FOLLOWING * TOSS LKM PROCESSORS: * * - TWAIT = WAIT * * - TEXIT = EXIT * * - TACTOT = ACTIVATE/RESTART TASK * * - TPAUSE = PAUSE TASK * * - TMWAIT = MULTIPLE WAIT * * EJECT TPROC * * *********** * ENTRIES * *********** * * ENTRY TWAIT WAIT PROCESSOR ENTRY TEXIT EXIT PROCESSOR ENTRY TACTOT ACTIVATE/RESTART PROCESSOR ENTRY TPAUSE PAUSE PROCESSOR ENTRY TMWAIT MULTIPLE WAIT PROCESSOR * * ************* * EXTERNALS * ************* * * EXTRN QTJOB QUEUE TASK FOR DISPATCHING EXTRN TDISP DISPATCHER EXTRN LKMQDI QUEUE TASK AND DISPATCH EXTRN LKMRQE LKM REQUEST ERROR EXTRN EXIT PROGRAM EXIT EXTRN FNDDWT FIND DWT ADDRESS FROM FILE CODE EXTRN FNDTID FIND TTAB ADDRESS FROM TASK ID EXTRN ACTOT ACTIVATE TASK EXTRN TTB:SA TTAB SAVE AREA EXTRN DWTST DWT STATUS EXTRN DWTTAB TTAB ADDRESS EXTRN DWTWAT WAIT/ACTIVATE INDICATOR EJECT TPROC * * ***************************************** * * CONDITIONAL ASSEMBLY * ***************************************** * * A PROGRAM VERSION USING TOSS MMU PAGING * IS OBTAINED BY SETTING MMUPAG EQU 1. * MMUPAG EQU 0 * EJECT TPROC * * ******** * WAIT * ******** * * * THIS IS THE WAIT LKM PROCESSOR. * * THIS MODULE IS ENTERED WHEN THE TASK * WANTS TO SYNCHRONIZE WITH A PARTICULAR EVENT. * * IT IS ENTERED FROM THE LKM HANDLER * WITH THE FOLLOWING PARAMETERS: * * A5 = TTAB ADDRESS * A8 = ECB ADDRESS * * TWAIT CF A15,FNDDWT SEARCH DWT ADDRESS ADK A6,0 SET CR RF(Z) TP:RQE FILE CODE NOT FOUND? * IFT MMUPAG=0 LDR* A1,A8 RETURN IF EVENT COMPLETED XIF * IFT MMUPAG=1 ELR A1,A8 RETURN IF EVENT COMPLETED XIF * RF(N) TP:QDI I/O ALREADY COMPLETED? IM DWTWAT,A6 NO, SET WAIT INDICATOR IN DWT RF T:DISP GO TO DISPATCHER * EJECT TPROC * * ******** * EXIT * ******** * * * THIS IS THE EXIT LKM PROCESSOR. * * THIS MODULE IS ENTERED WHEN A TASK * EXITS. IF ANY PROGRAM IS PENDING FOR THE * TASK IT IS STARTED. * * IT IS ENTERED FROM THE LKM HANDLER * WITH THE FOLLOWING PARAMETERS: * * A5 = TTAB ADDRESS * * TEXIT EQU * CF A15,EXIT CALL PROGRAM EXIT * T:DISP ABL TDISP GO TO DISPATCHER * EJECT TPROC * * ********** * TACTOT * ********** * * * THIS IS THE ACTIVATE/RESTART TASK LKM PROCESSOR. * * THIS MODULE IS ENTERED FROM THE LKM HANDLER * WHEN A TASK HAS TO BE ACTIVATED. * * THE FOLLOWING PARAMETERS ARE SUPPLIED:- * * A1 = PARAMETER WHEN A4 NOT ZERO * A4 = START ADDRESS AT ACTIVATION, ELSE ZERO * A5 = TTAB * A7 = IDENTIFICATION FOR TASK TO BE ACTIVATED * * TACTOT EQU * CF A15,FNDTID FIND TTAB ADDRESS ADK A2,0 SET CR RF(Z) TP:RQE TASK NOT IN SYSTEM CF A15,QTJOB QUEUE CALLING TASK FOR DISPATCHING LD A3,TTB:SA+6,A5 GET SEGMENT NUMBER LDR A5,A2 LDR A2,A4 RF(Z) TP:QDI RESTART: QUEUE FOR DISPATCHING CF A15,ACTOT ACTIVATION RB T:DISP GO TO DISPATCHER * EJECT TPROC * * ********** * TPAUSE * ********** * * * THIS IS THE PAUSE LKM PROCESSOR. * * THIS MODULE IS ENTERED FROM THE LKM HANDLER WHEN A * TASK WANTS TO (TEMPORARILY) HALT IT'S PROCESSING. * * TPAUSE EQU T:DISP GO TO DISPATCHER * EJECT TPROC * * ********** * TMWAIT * ********** * * * THIS IS THE MULTIPLE WAIT LKM PROCESSOR. * * IT IS ENTERED FROM THE LKM HANDLER * WITH THE FOLLOWING PARAMETERS: * * A5 = TTAB ADDRESS * A7 = ECBBLK ADDRESS * * WHEN ONE OF THE SPECIFIED EVENTS IS COMPLETED, * RETURN IS MADE TO THE CALLING TASK VIA TENDIO * WITH THE FOLLOWING PARAMETERS: * * A8 = ECB ADDRESS OF COMPLETED EVENT * * IF REQUEST ERROR, A7 := -1 (AND NO RETURN VIA TENDIO). * * NOTICE THAT ALL EVENTS MUST HAVE * BEEN ISSUED IN THE NO WAIT MODE. * * EJECT TPROC * * TMWAIT EQU * MULTIPLE WAIT ENTRY LDK A3,0 * IFT MMUPAG=0 LDR* A1,A7 GET NO OF ECB:S IN ECBBLK XIF * IFT MMUPAG=1 ELR A1,A7 GET NO OF ECB:S IN ECBBLK XIF * RF(NP) TP:RQE REQUEST ERROR IF <= 0 * TMW:10 EQU * ADK A7,2 POINT TO NEXT ECB ADDRESS IN ECBBLK * IFT MMUPAG=0 LDR* A8,A7 GET ECB ADDRESS LDR* A2,A8 GET FIRST WORD OF ECB XIF * IFT MMUPAG=1 ELR A8,A7 GET ECB ADDRESS ELR A2,A8 GET FIRST WORD OF ECB XIF * RF(N) TMW:30 I/O ALREADY COMPLETED? CF A15,FNDDWT NO, SEARCH DWT ADDRESS FROM FILE CODE ADK A6,0 SET CR RF(Z) TP:RQE NOT FOUND? * EJECT TPROC * * LD A2,DWTST,A6 GET DWT STATUS RF(N) TP:RQE NOT BUSY? CW A5,DWTTAB,A6 RF(NE) TP:RQE REQUEST NOT ISSUED BY THIS TASK? LD A2,DWTWAT,A6 GET WAIT/ACTIVATE INDICATOR RF(NZ) TP:RQE REQUEST ISSUED WITH WAIT? ORK A6,1 SET BIT 15 ADK A3,0 CHECK FLAG IF FIRST ECB TO WAIT FOR RF(NZ) TMW:20 NOT THE FIRST ECB IN ECBBLK? LDR A9,A6 SAVE FIRST DWT ADDRESS LDR A3,A6 * TMW:20 EQU * ST A6,DWTWAT,A9 CHAIN THIS DWT WITH THE ONE BEFORE LDR A9,A6 SAVE THIS DWT ADDRESS SUK A1,1 RB(P) TMW:10 MORE ECB:S IN ECBBLK? ST A3,DWTWAT,A9 NO, SET FIRST DWT ADDRESS IN THE LAST RB T:DISP GO TO DISPATCHER * TMW:30 EQU * ST A8,TTB:SA+16,A5 UPDATE A8 IN TTAB SAVE AREA ADK A3,0 CHECK FLAG IF FIRST ECB TO WAIT FOR RF(Z) TP:QDI FIRST ECB IN ECBBLK? * TMW:40 ADKL A3,DWTWAT POINT TO WAIT/ACTIVATE INDICATOR LDR* A2,A3 GET NEXT DWT ADDRESS RF(Z) TP:QDI NO MORE DWT:S? CMR A3 SET TO NO WAIT AGAIN LDR A3,A2 RB TMW:40 * EJECT TPROC * * TP:RQE EQU * ABL LKMRQE LKM REQUEST ERROR * TP:QDI EQU * ABL LKMQDI QUEUE TASK AND DISPATCH * * * END