Trailing-Edge
-
PDP-10 Archives
-
bb-bt99e-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