|
|
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: 7336 (0x1ca8)
Notes: pts_type(SC)
Names: »MONTIM.SC«
└─⟦48601905a⟧ Bits:30009668 Philips computer tape "600121"
└─⟦this⟧ »M:DE10/MONTIM.SC«
└─⟦d2a299635⟧ Bits:30009698 Philips computer tape "600415"
└─⟦this⟧ »M:DE10/MONTIM.SC«
IDENT MONTIM REL 10.0 80-03-14 870105041000 * * ******************************************************* * * PHILIPS TERMINAL SYSTEM PTS * * MONTIM = MONITOR CLOCK PROCESSORS * * * * * * ******************************************************* * * * THIS MODULE CONTAINS TOSS MONITOR CLOCK PROCESSORS * * -GETTIM GET TIME FROM MONITOR CLOCK * * -SETTIM SET TIME IN MONITOR CLOCK * EJECT MONTIM * * *********** * ENTRIES * *********** * * ENTRY GETTIM GET TIME FROM MONITOR CLOCK ENTRY SETTIM SET TIME IN MONITOR CLOCK EJECT MONTIM * * ************* * EXTERNALS * ************* * * EXTRN MONCLO MONITOR CLOCK EXTRN LKMQDI QUEUE TASK AND DISPATCH EXTRN TTB:SA TTAB SAVE AREA EJECT MONTIM * * ***************************************** * * CONDITIONAL ASSEMBLY * ***************************************** * * A PROGRAM VERSION USING TOSS MMU PAGING * IS OBTAINED BY SETTING MMUPAG EQU 1. * MMUPAG EQU 0 * EJECT MONTIM * * * G E T T I M * * THIS IS THE GET TIME LKM PROCESSOR. * * IT IS ENTERED FROM THE LKM HANDLER * WITH ADDRESS TO THE USER TIMER CONTROL * BLOCK IN A8. MONITOR CLOCK IS COPIED INTO * TIMER CONTROL BLOCK. * * GETTIM EQU * LDKL A7,MONCLO+6 ADDRESS TO MONITOR CLOCK SECOND LDK A3,6 COUNTER LDR* A6,A7 SECONDS STR A6,A15 SAVE ON STACK SUK A7,2 LDR* A6,A7 MINUTES STR A6,A15 SAVE ON STACK SUK A7,2 LDR* A6,A7 HOURS ENB * GETT10 CF A15,BYTASC CONVERT TO ASCII IFT MMUPAG=0 SC A6,1,A8 STORE RIGHTHAND CHARACTER ECR A6,A6 SCR A6,A8 STORE LEFTHAND CHARACTER XIF * EJECT MONTIM * * IFT MMUPAG=1 LDR A4,A8 GET TIMER CONTROL BLOCK ADDRESS ANK A4,1 RF(Z) GETT15 TCB ADDRESS EVEN LDR A1,A6 EL A4,1,A8 ANK A4,/FF SLL A1,8 ORR A1,A4 ES A1,1,A8 ELR A4,A8 SRL A6,8 ANKL A4,/FF00 ORR A6,A4 * GETT15 ESR A6,A8 SET VALUE IN TIMER CONTROL BLOCK XIF * SUK A3,2 RF(E) GETT20 ADKL A8,2 LDR* A6,A15 GET ACTUAL TIME FROM STACK RB GETT10 * EJECT MONTIM * * GETT20 SUK A7,2 LDR* A6,A7 GET ACCUMULATED 24 HOUR CARRY ST A6,TTB:SA+14,A5 STORE IN TTAB SAVE AREA A7 CMR A7 CLEAR MIDNIGTH CARRY * TPDIS ABL LKMQDI * EJECT MONTIM * * * S E T T I M * * THIS IS THE SET TIME LKM PROCESSOR. * * IT IS ENTERED FROM THE LKM HANDLER WITH * ADDRESS TO THE USER TIMER CONTROL BLOCK * IN A8. VALUE IN TIMER CONTROL BLOCK IS * COPIED INTO MONITOR CLOCK. * * SETTIM EQU * LDKL A7,MONCLO+6 ADDRESS TO MONITOR CLOCK SECOND LDK A3,6 COUNTER ENB * SETT10 EQU * IFT MMUPAG=0 LCR A6,A8 GET LEFTHAND CHARACTER ECR A6,A6 LC A6,1,A8 GET RIGHTHAND CHARACTER XIF * IFT MMUPAG=1 ELR A6,A8 GET VALUE FROM TIMER CONTROL BLOCK LDR A4,A8 GET TIMER CONTROL BLOCK ADDRESS ANK A4,1 RF(Z) SETT15 TCB ADDRESS EVEN EL A4,1,A8 CORRECTIONS FOR UNEVEN TCB ADDRESS SLL A6,8 SRL A4,8 ORR A6,A4 * SETT15 EQU * XIF * EJECT MONTIM * * CF A15,ASCTBY CONVERT TO BINARY SUK A3,2 END RF(E) SETT20 ADKL A8,2 STR A6,A15 SAVE ON STACK (HOURS AND MINUTES RB SETT10 * SETT20 EQU * INH STR A6,A7 SECONDS TO MONITOR CLOCK SUK A7,2 LDR* A6,A15 STR A6,A7 MINUTES TO MONITOR CLOCK SUK A7,2 LDR* A6,A15 STR A6,A7 HOURS TO MONITOR CLOCK SUK A7,2 CMR A7 RESET MIDNIGTH CARRY RB TPDIS * EJECT MONTIM * * * BYTASC = SUBROUTINE TO CONVERT A6-CONTENT * FROM BINARY TO ASCII. * RESULT IN A6. * * BYTASC EQU * LDK A4,0 * BYTA10 SUK A6,/A RF(N) BYTA20 ADKL A4,/100 RB BYTA10 * BYTA20 ADK A6,/A ADR A6,A4 ORKL A6,/3030 RTN A15 * EJECT MONTIM * * * ASCTBY = SUBROUTINE TO CONVERT A6-CONTENT * FROM ASCII TO BINARY. * RESULT IN A6. * * ASCTBY EQU * LDR A4,A6 ANK A6,/F SRL A4,8 ANK A4,/F RF(E) ASCT20 * ASCT10 ADK A6,/A SUK A4,1 RB(NE) ASCT10 * ASCT20 RTN A15 * * * END