DataMuseum.dk

Presents historical artifacts from the history of:

Philips Data Systems

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about Philips Data Systems

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download

⟦265f1965d⟧

    Length: 4710 (0x1266)
    Notes: pts_type(SC)
    Names: »MONTIM.SC«

Derivation

└─⟦18bf30ff4⟧ Bits:30009692 Philips computer tape "600409"
    └─⟦this⟧ »BDKMON/MONTIM.SC« 
└─⟦71472ef1e⟧ Bits:30009661 Philips computer tape "600103"
    └─⟦this⟧ »BDKMON/MONTIM.SC« 

PTS(SC)

	IDENT MONTIM	MIDNIGTH CARRY
			UPDATE #1 78.01.20 JES 
			UPDATE   #0   77-09-09 
* 
******************************************************* 
* 
*   PHILIPS TERMINAL SYSTEM PTS 
* 
*   MONTIM = MONITOR CLOCK PROCESSORS 
* 
* 
*   LEVEL     #2  77-09-09
* 
*   RELEASE   #7  77-09-09
* 
******************************************************* 
* 
* 
*    THIS MODULE CONTAINS MONITOR CLOCK PROCESSORS
* 
* 
*    -GETTIM    GET CURRENT VALUE OF MONITOR CLOCK
*    -SETTIM    SET MONITOR CLOCK 
	EJECT
* 
* 
* 
********************************
*    ENTRIES                   *
********************************
* 
	ENTRY	GETTIM	GET CURRENT VALUE OF MONITOR CLOCK
	ENTRY	SETTIM	SET MONITOR CLOCK 
* 
********************************
*    EXTERNALS                 *
********************************
* 
	EXTRN	MONCLO	MONITOR CLOCK 
	EXTRN	TDISP	DISPATCHER 
	EXTRN	RTNA15	RETURN AND ENABLE 
	EXTRN	LKMQDI	QUEUE TERMINAL JOB AND DISPATCH 
	EXTRN	TTB:SA	TASK TABLE SAVE AREA
	EJECT
* 
* 
*    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 
	INH
	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 
GETT10	CF	A15,BYTASC	CONVERT TO ASCII 
	SC	A6,1,A8	STORE RIGHT-HAND CHARACTER IN TIMER CONTROL BLOCK 
	SRL	A6,8	GET LEFT-HAND CHARACTER 
	SCR	A6,A8	AND STORE IT IN TIMER CONTROL BLOCK
	SUK	A3,2 
	RF(E)	GETT20 
	ADKL	A8,2
	LDR*	A6,A15	GET ACTUAL TIME FROM STACK 
	RB	GETT10
	EJECT
GETT20	SUK	A7,2 
	LDR*	A6,A7	GET ACCUMULATED 24 HOUR CARRY 
	ST	A6,TTB:SA+14,A5	STORE IN SAVE AREA FOR A7 
	CMR	A7	CLEAR CARRY 
TPDIS	ABL	LKMQDI
	EJECT
* 
* 
*    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 
SETT10	LCR	A6,A8	GET LEFT-HAND CHARACTER OF TIME FROM TIMER CONTROL BLOCK 
	SLL	A6,8	MAKE ROOM FOR THE RIGHT-HAND PART 
	LC	A6,1,A8	AND STORE IT IN TIMER CONTROL BLOCK 
	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	CLEAR 24 HOUR CARRY 
	RB	TPDIS 
	EJECT
* 
* 
*    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
	RF	ASCT20
* 
* 
*    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	ABL	RTNA15 
	END

Full view