Google
 

Trailing-Edge - PDP-10 Archives - bb-bt99g-bb - vmser.c09
There is 1 other file named vmser.c09 in the archive. Click here to see a list.
 REP 1/59	;09C1
	GVFWD2:	SPUSH	T3		;PUSH LEFT HALF
 WIT
	GVFWD2:	PUSH	P,T3		;PUSH FLAGS,,ADDRESS
 REP 5/59	;09C2
		SSXE	T3,(R)		; RELOCATE TO DATA SECTION
		JUMPE	R,GVFW2A	;ZERO TERMINATION FOR SECTION ZERO
		CAMN	T3,NZSFCE##(R)	;ELSE IS THIS LAST?
		  JRST	[SPOP	T3
 WIT
		HRLI	T3,(R)		; RELOCATE TO DATA SECTION & CLEAR FLAGS
		JUMPE	R,GVFW2A	;ZERO TERMINATION FOR SECTION ZERO
		CAMN	T3,NZSFCE##(R)	;ELSE IS THIS LAST?
		  JRST	[POP	P,T3	;RESTORE FLAGS
 REP 12/59	;09C3
		SPOP	T3		;RESTORE LEFT HALF
 WIT
		POP	P,T3		;RESTORE FLAGS & ADDRESS
 REP 45/59	;09C4
		TLZ	T3,-1		;CLEAR JUNK
	>
		SSXE	T3,(R)		;PROPER SECTION FOR REFERENCES BELOW
 WIT
	>
		HRLI	T3,(R)		;PROPER SECTION FOR REFERENCES BELOW
 REP 10/61	;09C5
			 SSXE	T3,(R)		;NO, RELOCATE
 WIT
			 HRLI	T3,(R)		;NO, RELOCATE
 REP 22/61	;09C6
	GVFWD7:	SSXE	T3,(R)		;SET TO ADDRESS PROPER SECTION
 WIT
	GVFWD7:	HRLI	T3,(R)		;SET TO ADDRESS PROPER SECTION
 REP 28/61	;09C7
	GVFWD9:	SPUSH	P2		;SAVE LEFT HALF
		SSXE	P2,(R)		;SET PROPER SECTION
 WIT
	GVFWD9:	PUSH	P,P2		;SAVE LEFT HALF (AND RIGHT HALF TOO)
		HRLI	P2,(R)		;SET PROPER SECTION
 REP 34/61	;09C8
	GVFW9A:	SPOP	P2		;RESTORE LEFT HALF
 WIT
	GVFW9A:	POP	P,P2		;RESTORE LEFT HALF
 REP 14/65	;09C9
	SETVTM::IMUL	T2,TICSEC##	;CONVERT TO TICS-PER-INTERRUPT
		IDIVI	T2,^D1000
		HRRZM	T2,.USTMC;SAVE IN UPMP
		MOVEM	T2,.USTMI
 WIT
	SETVTM::PUSHJ	P,FNDPDB##	;GET PDB FOR TARGET JOB
		  JRST	ECOD0##		;CAN'T SET IF NO PDB
		IMUL	T2,TICSEC##	;CONVERT TO TICS-PER-INTERRUPT
		IDIVI	T2,^D1000
		HRRZM	T2,.PDTMC##(W)	;SAVE IN PDB
		MOVEM	T2,.PDTMI##(W)
 REP 33/80	;09C10
		SETZM	.USTMC		;ZERO TIME CONSTANT
		SETZM	.USTMI		;ZERO TIME INCREMENT
 WIT
		SETZM	.PDTMC##(W)	;ZERO TIME CONSTANT
		SETZM	.PDTMI##(W)	;ZERO TIME INCREMENT
 REP 21/104	;09C11
	TIMFLT::MOVE	T4,.USTMC
		MOVE	P,[XWD MJOBPD##+1+<IFN FTKLP,<1>>,.JDAT+JOBPDL##+1+<IFN FTKLP,<1>>] ;SET UP P
		PUTPC	T4,.JDAT+JOBPD1## ;SAVE PC (IN JOBPD1)
 WIT
	TIMFLT::MOVE	P,[XWD MJOBPD##+1+<IFN FTKLP,<1>>,.JDAT+JOBPDL##+1+<IFN FTKLP,<1>>] ;SET UP P
 REP 27/104	;09C12
		SKIPN	T3,.USTMI	;RESET COUNTER--THIS MUST BE DONE AFTER
		JRST	TIMFL1
		MOVEM	T3,.USTMC	; RESET OF JOBPD1 TO PROTECT PSISER
 WIT
		MOVE	T4,.PDTMC##(W)	;GET PC
		PUTPC	T4,.JDAT+JOBPD1## ;SAVE PC (IN JOBPD1)
		SKIPN	T3,.PDTMI##(W)	;RESET COUNTER--THIS MUST BE DONE AFTER
		JRST	TIMFL1
		MOVEM	T3,.PDTMC##(W)	; RESET OF JOBPD1 TO PROTECT PSISER
 REP 39/104	;09C13
		MOVEM	T1,.USTMC
 WIT
		MOVEM	T1,.PDTMC##(W)
 REP 9/110	;09C14
		SETZM	.UPMP+.UPTMC	;TRAP COUNTERS
		SETZM	.UPMP+.UPTMI	;CLEAR VIRTUAL TIME
 WIT
		SETZM	.PDTMC##(W)	;TRAP COUNTERS
		SETZM	.PDTMI##(W)	;CLEAR VIRTUAL TIME
 REP 33/110	;09C15
		SETZM	.USTMC
		SETZM	.USTMI
 WIT
		SETZM	.PDTMC##(W)
		SETZM	.PDTMI##(W)
 REP 33/120	;09C16
		SKIPN	.USTMC
		MOVEM	T1,.USTMC	;NO, GET TIME INTERRUPTS ANYWAY
 WIT
		SKIPN	.PDTMC##(W)
		MOVEM	T1,.PDTMC##(W)	;NO, GET TIME INTERRUPTS ANYWAY
 SUM 106351