proof(luminary099): SERVICE_ROUTINES.agc (#695)

This commit is contained in:
James Harris 2020-09-04 23:13:42 +01:00 committed by GitHub
parent 8056927e8c
commit ca5dd7b7f9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -51,20 +51,20 @@ DOWNENT2 INHINT
OCT7 EQUALS SEVEN OCT7 EQUALS SEVEN
# Page 1375 # Page 1375
# 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
# ASSEMBLER. # ASSEMBLER.
# #
# 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
SETLOC FFTAG1 SETLOC FFTAG1
@ -108,9 +108,9 @@ DEBIT AD ONE # CET DE BITS
TC Q TC Q
# Page 1377 # Page 1377
# 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
# TC BANKCALL # TC BANKCALL
# CADR DELAYJOB # CADR DELAYJOB
@ -119,7 +119,7 @@ DEBIT AD ONE # CET DE BITS
SETLOC DLAYJOB SETLOC DLAYJOB
BANK BANK
# THIS MUST REMAIN IN BANK 0 **************************************** # THIS MUST REMAIN IN BANK 0 *****************************************
COUNT* $$/DELAY COUNT* $$/DELAY
DELAYJOB INHINT DELAYJOB INHINT
@ -167,23 +167,23 @@ TCSLEEP GENADR TCGETCAD -2
WAKECAD GENADR WAKER WAKECAD GENADR WAKER
# Page 1379 # Page 1379
# 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 # MOD 2 BY SCHULENBERG (REMOVE RELINT) SKIPPER REV 4 2/28/68
# #
# THIS ROUTINE IS USEFUL FOR TRANSFERING N CONSECUTIVE ERASABLE OR FIXED QUANTITIES TO SOME OTHER N # 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 # # 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
@ -194,7 +194,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
@ -210,8 +210,8 @@ GENTRAN INHINT
TCF Q+2 # RETURN TO CALLER. TCF Q+2 # RETURN TO CALLER.
# Page 1380 # Page 1380
# 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
@ -219,6 +219,3 @@ B5OFF CS BIT5
MASK EXTVBACT MASK EXTVBACT
TS EXTVBACT TS EXTVBACT
TC ENDOFJOB TC ENDOFJOB