Proof SERVICE_ROUTINES (Closes #256) (#323)

This commit is contained in:
Glenn Dwiyatcita 2018-03-23 03:05:10 +01:00 committed by James Harris
parent 87610c5e52
commit f5cb801c21

View File

@ -42,15 +42,15 @@ UPENT2 TS L # WHICH FLAGWORD IS IT
XCH L # SAVE IN L FOR INDEXING XCH L # SAVE IN L FOR INDEXING
MASK OCT77770 # OBTAIN THE BIT INFORMATION MASK OCT77770 # OBTAIN THE BIT INFORMATION
INHINT # PREVENT INTERRUPTS INHINT # PREVENT INTERUPTS
TS ITEMP1 # STORE THE BIT INFORMATION TEMPORARILY TS ITEMP1 # STORE THE BIT INFORMATION TEMPORARIALY
NDX L NDX L
CS FLAGWRD0 CS FLAGWRD0
MASK ITEMP1 MASK ITEMP1
NDX L NDX L
ADS FLAGWRD0 ADS FLAGWRD0
RELINT # RELEASE INTERRUPT INHIBIT RELINT # RELEASE INTERUPT INHIBIT
INCR Q # OBTAIN THE CORRECT RETURN ADDRESS INCR Q # OBTAIN THE CORRECT RETURN ADDRESS
TC Q # RETURN TC Q # RETURN
@ -62,20 +62,21 @@ DOWNENT2 TS L # WHICH FLAGWORD IS IT
MASK OCT77770 # OBTAIN THE BIT INFORMATION MASK OCT77770 # OBTAIN THE BIT INFORMATION
COM # START TO PROCESS THE INFORMATION COM # START TO PROCESS THE INFORMATION
INHINT # PREVENT INTERRUPTS INHINT # PREVENT INTERUPTS
NDX L NDX L
MASK FLAGWRD0 MASK FLAGWRD0
NDX L NDX L
TS FLAGWRD0 TS FLAGWRD0
RELINT # RELEASE INTERRUPT INHIBIT RELINT # RELEASE INTERUPT INHIBIT
INCR Q # OBTAIN THE CORRECT RETURN ADDRESS INCR Q # OBTAIN THE CORRECT RETURN ADDRESS
TC Q TC Q # RETURN
OCT7 EQUALS SEVEN OCT7 EQUALS SEVEN
BANK 10 BANK 10
# Page 1486 # Page 1486
#
# UPFLAG AND DOWNFLAG ARE ENTIRELY GENERAL FLAG SETTING AND CLEARING SUBROUTINES. USING THEM, WHETHER OR # UPFLAG AND DOWNFLAG ARE ENTIRELY GENERAL FLAG SETTING AND CLEARING SUBROUTINES. USING THEM, WHETHER OR
# NOT IN INTERRUPT, ONE MAY SET OR CLEAR ANY SINGLE, NAMED BIT IN ANY ERASABLE REGISTER, SUBJECT OF COURSE TO # NOT IN INTERRUPT, ONE MAY SET OR CLEAR ANY SINGLE, NAMED BIT IN ANY ERASABLE REGISTER, SUBJECT OF COURSE TO
# EBANK SETTING. A "NAMED" BIT, AS THE WORD IS USED HERE, IS ANY BIT WITH A NAME FORMALLY ASSIGNED BY THE YUL # EBANK SETTING. A "NAMED" BIT, AS THE WORD IS USED HERE, IS ANY BIT WITH A NAME FORMALLY ASSIGNED BY THE YUL
@ -84,11 +85,13 @@ OCT7 EQUALS SEVEN
# AT PRESENT THE ONLY NAMED BITS ARE THOSE IN THE FLAGWORDS. ASSEMBLER CHANGES WILL MAKE IT POSSIBLE TO # AT PRESENT THE ONLY NAMED BITS ARE THOSE IN THE FLAGWORDS. ASSEMBLER CHANGES WILL MAKE IT POSSIBLE TO
# NAME ANY BIT IN ERASABLE MEMORY. # NAME ANY BIT IN ERASABLE MEMORY.
# #
# CALLING SEQUENCES ARE AS FOLLOWS -- # CALLING SEQUENCES ARE AS FOLLOWS:-
#
# TC UPFLAG TC DOWNFLAG # TC UPFLAG TC DOWNFLAG
# ADRES NAME OF FLAG ADRES NAME OF FLAG # ADRES NAME OF FLAG ADRES NAME OF FLAG
# #
# RETURN IS TO THE LOCATION FOLLOWING THE "ADRES" ABOUT .58 MS AFTER THE "TC". # RETURN IS TO THE LOCATION FOLLOWING THE "ADRES" ABOUT .58 MS AFTER THE "TC".
#
# UPON RETURN A CONTAINS THE CURRENT FLAGWRD SETTING. # UPON RETURN A CONTAINS THE CURRENT FLAGWRD SETTING.
BLOCK 02 BLOCK 02
@ -107,11 +110,13 @@ COMFLAG INDEX ITEMP1
RELINT RELINT
TC L TC L
DOWNFLAG CA Q DOWNFLAG CA Q
TC DEBIT TC DEBIT
MASK L # RESET BIT MASK L # RESET BIT
TCF COMFLAG TCF COMFLAG
DEBIT AD ONE # GET DE BITS DEBIT AD ONE # GET DE BITS
INHINT INHINT
TS ITEMP3 TS ITEMP3
@ -133,7 +138,7 @@ DEBIT AD ONE # GET DE BITS
TC Q TC Q
# Page 1488 # Page 1488
# DELAYJOB -- A GENERAL ROUTINE TO DELAY A JOB A SPECIFIC AMOUNT OF TIME BEFORE PICKING UP AGAIN. # DELAYJOB- A GENERAL ROUTINE TO DELAY A JOB A SPECIFIC AMOUNT OF TIME BEFORE PICKING UP AGAIN.
# #
# ENTRANCE REQUIREMENTS... # ENTRANCE REQUIREMENTS...
# CAF DT # DELAY JOB FOR DT CENTISECS # CAF DT # DELAY JOB FOR DT CENTISECS
@ -150,6 +155,7 @@ DEBIT AD ONE # GET DE BITS
DELAYJOB INHINT DELAYJOB INHINT
TS Q # STORE DELAY DT IN Q FOR DLY -1 IN TS Q # STORE DELAY DT IN Q FOR DLY -1 IN
CAF DELAYNUM # WAITLIST CAF DELAYNUM # WAITLIST
DELLOOP TS RUPTREG1 DELLOOP TS RUPTREG1
INDEX A INDEX A
@ -160,7 +166,7 @@ DELLOOP TS RUPTREG1
CCS RUPTREG1 # NO, TRY NEXT DELAYLOC CCS RUPTREG1 # NO, TRY NEXT DELAYLOC
TCF DELLOOP TCF DELLOOP
TC BAILOUT # NO AVAILABLE LOCS. TC BAILOUT # NO AVAILABLE LOCS AVAILABLE.
OCT 1104 OCT 1104
OK2DELAY CA TCSLEEP # SET WAITLIST IMMEDIATE RETURN OK2DELAY CA TCSLEEP # SET WAITLIST IMMEDIATE RETURN
@ -173,7 +179,7 @@ OK2DELAY CA TCSLEEP # SET WAITLIST IMMEDIATE RETURN
CAF WAKECAD # STORE CADR FOR TASK CALL CAF WAKECAD # STORE CADR FOR TASK CALL
TCF DLY2 -1 # DLY IS IN WAITLIST ROUTINE TCF DLY2 -1 # DLY IS IN WAITLIST ROUTINE
TCGETCAD TC MAKECADR # GET CALLER'S FCADR TCGETCAD TC MAKECADR # GET CALLERS FCADR
INDEX RUPTREG1 INDEX RUPTREG1
TS DELAYLOC # SAVE DELAY CADRS TS DELAYLOC # SAVE DELAY CADRS
@ -192,23 +198,27 @@ TCSLEEP GENADR TCGETCAD -2
WAKECAD GENADR WAKER WAKECAD GENADR WAKER
# Page 1490 # Page 1490
# GENTRAN, A BLOCK TRANSFER ROUTINE # GENTRAN, A BLOCK TRANSFER ROUTINE.
#
# WRITTEN BY D. EYLES # WRITTEN BY D. EYLES
# MOD 1 BY KERNAN UTILITYM REV 17 11/18/67 # MOD 1 BY KERNAN UTILITYM REV 17 11/18/67
# MOD 2 BY SCHULENBERG -- (REMOVE RELINT) -- SKIPPER REV 4 2/28/68
# #
# THIS ROUTINE IS USEFUL FOR TRANSFERRING N CONSECUTIVE ERASABLE OR FIXED QUANTITIES TO SOME OTHER N # MOD 2 BY SCHULENBERG (REMOVE RELINT) SKIPPER REV 4 2/28/68
#
# THIS ROUTINE IS USEFULL FOR TRANSFERING N CONSECUTIVE ERASABLE OR FIXED QUANTITIES TO SOME OTHER N
# CONSECUTIVE ERASABLE LOCATIONS. IF BOTH BLOCKS OF DATA ARE IN SWITCHABLE EBANKS, THEY MUST BE IN THE SAME ONE. # CONSECUTIVE ERASABLE LOCATIONS. IF BOTH BLOCKS OF DATA ARE IN SWITCHABLE EBANKS, THEY MUST BE IN THE SAME ONE.
# #
# GENTRAN IS CALLABLE IN A JOB AS WELL AS A RUPT. THE CALLING SEQUENCE IS: # GENTRAN IS CALLABLE IN A JOB AS WELL AS A RUPT. THE CALLING SEQUENCE IS:
# I CA N-1 # NO. NUMBER OF QUANTITIES MINUS ONE. #
# I CA N-1 # # OF QUANTITIES MINUS ONE.
# I +1 TC GENTRAN # IN FIXED-FIXED. # I +1 TC GENTRAN # IN FIXED-FIXED.
# I +2 ADRES L # STARTING ADRES OF DATA TO BE MOVED. # I +2 ADRES L # STARTING ADRES OF DATA TO BE MOVED.
# I +3 ADRES M # STARTING ADRES OF DUPLICATION BLOCK. # I +3 ADRES M # STARTING ADRES OF DUPLICATION BLOCK.
# I +4 # RETURNS HERE. # I +4 # RETURNS HERE.
# #
# GENTRAN TAKES 25 MCT'S (300 MICROSECONDS) PER ITEM + 5 MCT'S (60 MICS) FOR ENTERING AND EXITING. # GENTRAN TAKES 25 MCT'S (300 MICROSECONDS) PER ITEM + 5 MCT'S (60 MICS) FOR ENTERING AND EXITING.
# A, L, AND ITEMP1 ARE NOT PRESERVED. #
# A, L AND ITEMP1 ARE NOT PRESERVED.
BLOCK 02 BLOCK 02
SETLOC FFTAG4 SETLOC FFTAG4
@ -219,7 +229,7 @@ WAKECAD GENADR WAKER
COUNT* $$/TRAN COUNT* $$/TRAN
GENTRAN INHINT GENTRAN INHINT
TS ITEMP1 # SAVE N-1 TS ITEMP1 # SAVE N-1.
INDEX Q # C(Q) = ADRES L. INDEX Q # C(Q) = ADRES L.
AD 0 # ADRES (L + N - 1). AD 0 # ADRES (L + N - 1).
INDEX A INDEX A
@ -235,7 +245,8 @@ GENTRAN INHINT
TCF Q+2 # RETURN TO CALLER. TCF Q+2 # RETURN TO CALLER.
# Page 1491 # Page 1491
# B5OFF ZERO BIT 5 OF EXTVBACK, WHICH IS SET BY TESTXACT. # B5OFF ZERO BIT 5 OF EXTVBACT, WHICH IS SET BY TESTXACT.
#
# MAY BE USED AS NEEDED BY ANY EXTENDED VERB WHICH HAS DONE TESTXACT # MAY BE USED AS NEEDED BY ANY EXTENDED VERB WHICH HAS DONE TESTXACT
COUNT* $$/EXTVB COUNT* $$/EXTVB
@ -248,6 +259,7 @@ B5OFF CS BIT5
# Page 1492 # Page 1492
# SUBROUTINES TO TURN OFF AND TURN ON TRACKER FAIL LIGHT. # SUBROUTINES TO TURN OFF AND TURN ON TRACKER FAIL LIGHT.
TRFAILOF INHINT TRFAILOF INHINT
CS OCT40200 # TURN OFF TRACKER LIGHT CS OCT40200 # TURN OFF TRACKER LIGHT
MASK DSPTAB +11D MASK DSPTAB +11D
@ -265,7 +277,3 @@ TRFAILON INHINT
MASK OCT40200 MASK OCT40200
ADS DSPTAB +11D ADS DSPTAB +11D
TCF REQ TCF REQ