Source Code

These source-code files are part of a reconstructed copy of Sunrise 45, the penultimate release of the Block I Command Module (CM) Apollo Guidance Computer (AGC) system test software.

They have been created via disassembly of binary dumps of original core rope memory modules, part numbers 1003133-18, 1003133-19, and 1003133-20. Corresponding portions of code have been copied from Solarium 55 where applicable. Extensive use was also made of the AGC Information Series documents, which were specifically written about the Sunrise software.

Since only binary dumps (rather than listings) of Sunrise are available as source material, all comments and labels are approximate. They have been taken from other AGC programs where possible, or, in some places, written from scratch to match what we believe would have been in the original listing.

002889,000002:                                                                                                  ## Copyright:   Public domain.
002890,000003:                                                                                                  ## Filename:    EXECUTIVE.agc
002891,000004:                                                                                                  ## Purpose:     A section of Sunrise 45.
002892,000005:                                                                                                  ##              It is part of the reconstructed source code for the penultimate
002893,000006:                                                                                                  ##              release of the Block I Command Module system test software. No
002894,000007:                                                                                                  ##              original listings of this program are available; instead, this
002895,000008:                                                                                                  ##              file was created via disassembly of dumps of Sunrise core rope
002896,000009:                                                                                                  ##              memory modules and comparison with the later Block I program
002897,000010:                                                                                                  ##              Solarium 55.
002898,000011:                                                                                                  ## Assembler:   yaYUL --block1
002899,000012:                                                                                                  ## Contact:     Ron Burkey <info@sandroid.org>.
002900,000013:                                                                                                  ## Website:     www.ibiblio.org/apollo/index.html
002901,000014:                                                                                                  ## Mod history: 2022-12-09 MAS  Initial reconstructed source.
002902,000015: 
002903,000016: 
002904,000017:                                                                                                  #  EXECUTIVE PROGRAMS
002905,000018:                                                                                                  #  --------- --------
002906,000019: 
002907,000020: 
002908,000021: 
002909,000022:    2037                                           BANK     1                                     
002910,000023:    2037           50572        FINDVAC            TS       NEWPRIO                               #  PROGRAM TO FIND AN AVAILABLE VAC
002911,000024:    2040           30001                           XCH      Q                                     
002912,000025:    2041           02056                           TC       EXECCOM                               #  COMMON FF EXECUTIVE SUBROUTINE.
002913,000026:    2042           06003                           TC       FINDVAC2                              #  OFF TO EXECUTIVE BANK.
002914,000027: 
002915,000028:    2043           50572        NOVAC              TS       NEWPRIO                               #  ENTRY EXCLUSIVELY FOR BASIC JOBS NOT
002916,000029:    2044           30001                           XCH      Q                                     #  REQUIRING A VAC AREA.
002917,000030:    2045           02056                           TC       EXECCOM                               #  COMMON FF EXECUTIVE SUBROUTINE.
002918,000031:    2046           35500                           CAF      ZERO                                  #  ZERO PD FIELD IN PUSHLOC.
002919,000032:    2047           50567                           TS       EXECTEM3                              
002920,000033:    2050           06026                           TC       NOVAC2                                
002921,000034: 
002922,000035:    2051           50566        JOBWAKE            TS       EXECTEM2                              #  ENTRY HERE TO RE-ACTIVATE A SLEEPING JOB
002923,000036:    2052           10001                           CCS      Q                                     #  RETURN ADDRESS - 1 TO WTEXIT.
002924,000037:    2053           50573                           TS       WTEXIT                                #  SHARES FINAL PORTION OF FINDVAC, NOVAC.
002925,000038:    2054           02062                           TC       EXECSW                                #  COMMON EXEC BANK-SWITCH SUBROUTINE.
002926,000039:    2055           06107                           TC       JOBWAKE2                              
002927,000040: 
002928,000041:    2056           50573        EXECCOM            TS       WTEXIT                                #  EXIT ADDRESS
002929,000042:    2057           20000                           INDEX    A                                     #  PICK UP JOB OR TASK ADDRESS.
002930,000043:    2060           30000                           CAF      0                                     #    (USED BY FINDVAC, NOVAC, AND WAITLIST)
002931,000044:    2061           50566                           TS       EXECTEM2                              
002932,000045: 
002933,000046:    2062           32066        EXECSW             CAF      EXECBANK                              
002934,000047:    2063           30015                           XCH      BANKREG                               #  CALL IN EXEC BANK, SAVING RETURN.
002935,000048:    2064           50565                           TS       EXECTEM1                              
002936,000049:    2065           00001                           TC       Q                                     
002937,000050: 
002938,000051:    2066           10003        EXECBANK           CADR     FINDVAC2                              
002939,000052: 
002940,000053:    2067           50015        FOUNDVAC           TS       BANKREG                               #  COMES HERE TO RETURN FROM FINDVAC,
002941,000054:    2070           20573                           INDEX    WTEXIT                                #  NOVAC, OR JOBWAKE.
002942,000055:    2071           00001                           TC       1                                     
002943,000056: 
002944,000057: 
002945,000058:                                                                                                  #                CALLS TO FINDVAC BEGIN HERE, SNATCHING AN AVAILABLE VAC AREA.
002946,000059: 
002947,000060: 04,6000                                           SETLOC   10000                                 #  EXEC/WAITLIST BANK.
002948,000061: 
002949,000062: 04,6000           06744        SLAPB              TC       SLAP1                                 
002950,000063: 
002951,000064: 04,6001           07265        KEYRUPTC           TC       KEYRUPT1                              #  STANDARD LOC, DONT MOVE
002952,000065: 
002953,000066: 04,6002           06724        MODROUTB           TC       MODROUT                               #  STANDARD LOC, DONT MOVE
002954,000067: 
002955,000068: 04,6003           10214        FINDVAC2           CCS      VAC1USE                               #  C(VAC1USE) =  TC VAC1USE  IF VAC1 IS
002956,000069: 04,6004           06017                           TC       FV1                                   #  AVAILABLE, OR +0 IF IT IS IN USE.
002957,000070: 04,6005           10270                           CCS      VAC2USE                               
002958,000071: 04,6006           06017                           TC       FV1                                   #  THE FIRST CCS WITH +0 JUMPS TO THE
002959,000072: 04,6007           10344                           CCS      VAC3USE                               #    CORRESPONDING TC ORDER.
002960,000073: 04,6010           06017                           TC       FV1                                   
002961,000074: 04,6011           10420                           CCS      VAC4USE                               
002962,000075: 04,6012           06017                           TC       FV1                                   
002963,000076: 04,6013           10474                           CCS      VAC5USE                               
002964,000077: 04,6014           06017                           TC       FV1                                   
002965,000078: 
002966,000079: 04,6015           02652                           TC       ABORT                                 #  NO VAC AREAS AVAILABLE.
002967,000080: 04,6016           01201                           OCT      01201                                 
002968,000081: 
002969,000082: 04,6017           65502        FV1                AD       TWO                                   #  TO FORM ADDRESS OF ASSIGNED VAC AREA.
002970,000083: 04,6020           50567                           TS       EXECTEM3                              
002971,000084: 04,6021           60572                           AD       NEWPRIO                               #  )  STORE ADDRESS OF VAC1 IN LOW-ORDER
002972,000085: 04,6022           50572                           TS       NEWPRIO                               #  )    9 BITS OF NEWPRIO.
002973,000086: 
002974,000087: 04,6023           35500                           CAF      ZERO                                  #  )
002975,000088: 04,6024           20567                           INDEX    EXECTEM3                              #  )  STORE +0 IN VAC1USE, INDICATING USE.
002976,000089: 04,6025           47777                           TS       0          -1                         #  )
002977,000090: 
002978,000091: 04,6026           36041        NOVAC2             CAF      LASTADR                               #  RELATIVE ADDRESS OF LAST REGISTER SET.
002979,000092: 04,6027           50574                           TS       LOCCTR                                
002980,000093: 04,6030           10000                           CCS      A                                     
002981,000094: 04,6031           06036                           TC       +5                                    #  PNZ AND -0 ONLY.
002982,000095: 
002983,000096: 04,6032           40566        12BITSOK           CS       EXECTEM2                              #  COMES HERE IF JOB ADDRESS LESS THAN 6K.
002984,000097: 04,6033           06066                           TC       LOCSET                                
002985,000098: 
002986,000099: 04,6034           02652                           TC       ABORT                                 #  NO REGISTER SETS AVAILABLE.
002987,000100: 04,6035           01202                           OCT      01202                                 
002988,000101: 
002989,000102: 04,6036           20574                 +5        INDEX    LOCCTR                                #  THIS LOOP FINDS THE FIRST AVAILABLE
002990,000103: 04,6037           10123                           CCS      PRIORITY                              #    STORAGE AREA FOR CORE REGISTERS FOR
002991,000104: 04,6040           06104                           TC       NOVAC3                                #  THE NEW JOB.
002992,000105: 04,6041           00070        LASTADR            DEC      56         B-14                       #  EIGHT SETS OF EIGHT REGISTERS.
002993,000106: 04,6042           06104                           TC       NOVAC3                                #  NNZ MEANS JOB ASLEEP HERE.
002994,000107: 
002995,000108: 
002996,000109:                                                                                                  #        NOW THAT REGISTER SETS HAVE BEEN FOUND FOR THE NEW JOB, INITIALIZE THEM AND SET NEWJOB IF CALLED FOR.
002997,000110: 
002998,000111: 04,6043           20574        CORSW              INDEX    LOCCTR                                #  (COMES HERE WITH C(A) = 0). TURN OFF OVF
002999,000112: 04,6044           50121                           TS       OVFIND                                
003000,000113: 
003001,000114: 04,6045           60572                           AD       NEWPRIO                               #  SET UP PRIORITY FOR NEW JOB.
003002,000115: 04,6046           20574        JOBWAKE4           INDEX    LOCCTR                                #  JOB WAKING ENTERS HERE TO FINISH UP.
003003,000116: 04,6047           50123                           TS       PRIORITY                              #  STORE NEW PRIORITY
003004,000117: 04,6050           32206                           CAF      BANKMASK                              
003005,000118: 04,6051           70566                           MASK     EXECTEM2                              
003006,000119: 04,6052           60567                           AD       EXECTEM3                              #  PUSHLOC
003007,000120: 04,6053           20574                           INDEX    LOCCTR                                
003008,000121: 04,6054           50122                           TS       PUSHLOC                               
003009,000122: 
003010,000123: 04,6055           36315                           CAF      EXEC70K                               #  CREATE PROPER 12 BIT ADDRESS.
003011,000124: 04,6056           70566                           MASK     EXECTEM2                              #  SEE IF HIGH THREE BITS ZERO.
003012,000125: 04,6057           10000                           CCS      A                                     
003013,000126: 04,6060           06062                           TC       +2                                    #  NEEDS SPECIAL TREATMENT IF C(A) NOT ZERO
003014,000127: 04,6061           06032                           TC       12BITSOK                              
003015,000128: 
003016,000129: 04,6062           30566                           XCH      EXECTEM2                              
003017,000130: 04,6063           74605                           MASK     LOW10                                 
003018,000131: 04,6064           64373                           AD       6K                                    
003019,000132: 04,6065           40000                           COM                                            
003020,000133: 04,6066           20574        LOCSET             INDEX    LOCCTR                                
003021,000134: 04,6067           50117                           TS       LOC                                   
003022,000135: 
003023,000136: 04,6070           20550                           INDEX    NEWJOB                                
003024,000137: 04,6071           40123                           CS       PRIORITY                              #  TEST WHETHER NEW JOB HAS HIGHER
003025,000138: 04,6072           60572                           AD       NEWPRIO                               #  PRIORITY THAN PREVIOUS HIGHEST
003026,000139: 04,6073           10000                           CCS      A                                     
003027,000140: 04,6074           40574                           CS       LOCCTR                                #  NEW JOB HAS HIGHER PRIORITY.
003028,000141: 04,6075           06101                           TC       NEWHIGH                               #  SET NEWJOB, LEAVING LOCCTR UNCHANGED.
003029,000142: 
003030,000143: 04,6076           06077                           TC       +1                                    #  -0 IF PRIORITIES = AND BOTH ARE NOVACS.
003031,000144: 04,6077           30565        NOWAKE2            XCH      EXECTEM1                              
003032,000145: 04,6100           02067        ENDFIND            TC       FOUNDVAC                              
003033,000146: 
003034,000147: 04,6101           40000        NEWHIGH            COM                                            #  SET NEWJOB AND RETURN TO CALLER.
003035,000148: 04,6102           50550                           TS       NEWJOB                                
003036,000149: 04,6103           06077                           TC       ENDFIND    -1                         
003037,000150: 
003038,000151: 04,6104           44513        NOVAC3             CS       EIGHT                                 #  COMES HERE TO EXAMINE NEXT REGISTER SET.
003039,000152: 04,6105           60574                           AD       LOCCTR                                
003040,000153: 04,6106           06027                           TC       NOVAC2     +1                         
003041,000154: 
003042,000155: 
003043,000156:                                                                                                  #        THE  JOBWAKE  ROUTINE REACTIVES A SLEEPING JOB, SETTING IT TO BEGIN AT THE GIVEN WAKE ADDRESS.
003044,000157: 
003045,000158: 04,6107           36041        JOBWAKE2           CAF      LASTADR                               #  BEGIN SEARCH FOR REGISTER SET CONTAINING
003046,000159: 04,6110           50574                           TS       LOCCTR                                #  SLEEPING JOB. WAKE ADDRESS IS IN  LOC IN
003047,000160: 04,6111           10000                           CCS      A                                     #  CADR FORM, AS PLACED THERE BY  JOBSLEEP.
003048,000161: 04,6112           20574                           INDEX    LOCCTR                                #  PNZ AND -0 ONLY. SEE IF THIS JOB ASLEEP.
003049,000162: 04,6113           10123                           CCS      PRIORITY                              #  THIS CCS CANT GO TO  TC NOWAKE  .
003050,000163: 04,6114           06137                           TC       JOBWAKE3                              #  PNZ - ACTIVE JOB PRESENT. +0 IMPOSSIBLE.
003051,000164: 
003052,000165: 04,6115           06142                           TC       NOWAKE                                #  ALARM - SLEEPING JOB NOT FOUND.
003053,000166: 
003054,000167: 04,6116           06120                           TC       +2                                    #  INACTIVE JOB FOUND.
003055,000168: 04,6117           06137                           TC       JOBWAKE3                              #  -0 - NOT IN USE.
003056,000169: 
003057,000170: 04,6120           40566                 +2        CS       EXECTEM2                              #  SEE IF THIS IS THE DESIRED SLEEPING JOB.
003058,000171: 04,6121           20574                           INDEX    LOCCTR                                
003059,000172: 04,6122           60117                           AD       LOC                                   
003060,000173: 04,6123           10000                           CCS      A                                     
003061,000174: 04,6124           06137                           TC       JOBWAKE3                              #  SEARCH NEXT SET IF NOT AT END.
003062,000175: 04,6126                                           SETLOC   +1                                    
003063,000176: 04,6126           06137                           TC       JOBWAKE3                              
003064,000177: 
003065,000178: 04,6127           34605                           CAF      LOW10                                 #  SET UP EXECTEM3 AND PRIORITY SO WE CAN
003066,000179: 04,6130           20574                           INDEX    LOCCTR                                #  FINISH AT STANDARD  CORSW  .
003067,000180: 04,6131           70122                           MASK     PUSHLOC                               #  PROTECT PD SETTING.
003068,000181: 04,6132           50567                           TS       EXECTEM3                              
003069,000182: 
003070,000183: 04,6133           20574                           INDEX    LOCCTR                                #  RE-COMPLEMENT PRIORITY AND FINISH UP.
003071,000184: 04,6134           40123                           CS       PRIORITY                              
003072,000185: 04,6135           50572                           TS       NEWPRIO                               
003073,000186: 04,6136           06046                           TC       JOBWAKE4                              
003074,000187: 
003075,000188: 04,6137           44513        JOBWAKE3           CS       EIGHT                                 #  ADVANCE TO NEXT REGISTER SET.
003076,000189: 04,6140           60574                           AD       LOCCTR                                
003077,000190: 04,6141           06110                           TC       JOBWAKE2   +1                         
003078,000191: 
003079,000192: 04,6142           50574        NOWAKE             TS       LOCCTR                                #  SET LOCCTR = +0 TO SHOW NO JOB WAS
003080,000193: 04,6143           06077                           TC       NOWAKE2                               #   AWAKENED.
003081,000194: 
003082,000195: 
003083,000196:                                                                                                  #  A NEW JOB, OF HIGHER PRIORITY THAN THE PRESENT ONE, CAUSES THE RELA-
003084,000197:                                                                                                  #  TIVE ADDRESS (9, 18, ..., 63) OF THE NEW JOB CORE REGISTERS TO BE
003085,000198:                                                                                                  #  PLACED IN REGISTER  NEWJOB , WHERE IT IS TESTED BY THE INTERPRETER.
003086,000199:                                                                                                  #  THE RESULTING BRANCH TO CHANJOB, BELOW, CAUSES A TRADE BETWEEN THE
003087,000200:                                                                                                  #  CORE REGISTERS OF THE PRESENT AND NEW JOBS.
003088,000201: 
003089,000202:    2072                                           SETLOC   FOUNDVAC   +3                         
003090,000203: 
003091,000204:    2072           20017        CHANG1             INHINT                                         #  BASIC JOBS COME HERE WHEN C(NEWJOB)
003092,000205:    2073           32066                           CAF      EXECBANK                              #  NON-ZERO. START BY CALLING IN EXECUTIVE
003093,000206:    2074           30015                           XCH      BANKREG                               #  BANK AND SAVING RETURN BANK CODE.
003094,000207:    2075           40000                           COM                                            
003095,000208:    2076           50060                           TS       BANKSET                               
003096,000209:    2077           30122                           XCH      PUSHLOC                               #  BLANK OUT THE HIGH-ORDER 4 BITS IN
003097,000210:    2100           74605                           MASK     LOW10                                 #  PUSHLOC SO THE BANK BITS CAN BE PACKED
003098,000211:    2101           50122                           TS       PUSHLOC                               #  WITH IT
003099,000212:    2102           40001                           CS       Q                                     #  FOR RETURN, SHOWING THIS WAS A BASIC JOB
003100,000213:    2103           06144                           TC       CHANJOB                               #  OFF TO BANK 0
003101,000214: 
003102,000215:    2104           10065        CHANG2             CCS      NEWEQIND                              #  INTERPRETIVE INTERRUPTS START HERE, 
003103,000216:    2105           00001                           TC       Q                                     #  PROVIDED THE LOAD INDICATOR ISNT ON
003104,000217: 
003105,000218:    2106           20017                           INHINT                                         
003106,000219:    2107           32066                           CAF      EXECBANK                              #  CALL IN EXECUTIVE BANK.
003107,000220:    2110           50015                           TS       BANKREG                               
003108,000221:    2111           30117                           XCH      LOC                                   
003109,000222:    2112           06144                           TC       CHANJOB                               #  WITH C(A) PNZ, SHOWING WE WERE IN INTERP
003110,000223:                                                                                                  #  RETER
003111,000224: 04,6144                                           SETLOC   NOWAKE     +2                         
003112,000225: 04,6144           20550        CHANJOB            INDEX    NEWJOB                                #  TO BEGIN SWAP OF CORE REGISTERS
003113,000226: 04,6145           30117                           XCH      LOC                                   
003114,000227: 04,6146           50117                           TS       LOC                                   #  SAVE PROPER 12 BIT ADDRESS
003115,000228: 
003116,000229: 04,6147           30123                           XCH      PRIORITY                              
003117,000230: 04,6150           20550                           INDEX    NEWJOB                                
003118,000231: 04,6151           30123                           XCH      PRIORITY                              
003119,000232: 04,6152           50123                           TS       PRIORITY                              
003120,000233: 04,6153           74606                           MASK     LOW9                                  #  TO GET FIXLOC
003121,000234: 04,6154           50066                           TS       FIXLOC                                
003122,000235: 04,6155           64511                           AD       BIT6                                  #  SET UP VACLOC ( = FIXLOC + 32D )
003123,000236: 04,6156           50067                           TS       VACLOC                                
003124,000237: 
003125,000238: 04,6157           40060                           CS       BANKSET                               #  SAVE BANK
003126,000239: 04,6160           60122                           AD       PUSHLOC                               #  AND PUSHLOC IN SAME WORD
003127,000240: 04,6161           20550                           INDEX    NEWJOB                                
003128,000241: 04,6162           30122                           XCH      PUSHLOC                               
003129,000242: 04,6163           50122                           TS       PUSHLOC                               
003130,000243: 04,6164           74605                           MASK     LOW10                                 
003131,000244: 04,6165           30122                           XCH      PUSHLOC                               
003132,000245: 04,6166           40000                           COM                                            
003133,000246: 04,6167           60122                           AD       PUSHLOC                               #  WE NOW HAVE COMPLEMNT OF BANK BITS
003134,000247: 04,6170           50060                           TS       BANKSET                               
003135,000248: 
003136,000249: 04,6171           40120                           CS       ADRLOC                                #  SAVE MODE AND COMPLEMENT OF ADRLOC IN
003137,000250: 04,6172           60000                           DOUBLE                                         #  SAME WORD. ADRLOC MUST BE SHIFTED 2
003138,000251: 04,6173           60000                           DOUBLE                                         #  PLACES TO MAKE ROOM FOR MODE
003139,000252: 04,6174           60064                           AD       MODE                                  #  -0, -1, OR -2
003140,000253: 04,6175           20550                           INDEX    NEWJOB                                
003141,000254: 04,6176           30120                           XCH      ADRLOC                                
003142,000255: 04,6177           50021                           TS       SR                                    
003143,000256: 04,6200           74473                           MASK     THREE                                 #  SAVE LOW 2 BITS
003144,000257: 04,6201           64341                           AD       NEG3                                  #  THIS RESULTS IN EITHER -0, -1, OR -2
003145,000258: 04,6202           50064                           TS       MODE                                  
003146,000259: 04,6203           40021                           CS       SR                                    
003147,000260: 04,6204           40021                           CS       SR                                    
003148,000261: 04,6205           50120                           TS       ADRLOC                                
003149,000262: 
003150,000263: 04,6206           10121                           CCS      OVFIND                                #  SAVE C(ORDER) POSITIVE IF C(OVFIND) = 0
003151,000264: 04,6207           06211                           TC       +2                                    #  AND NEGATIVE OTHERWISE
003152,000265: 04,6210           06213                           TC       +3                                    
003153,000266: 04,6211           40062                           CS       ORDER                                 
003154,000267: 04,6212           06214                           TC       +2                                    
003155,000268: 04,6213           30062                           XCH      ORDER                                 
003156,000269: 04,6214           20550                           INDEX    NEWJOB                                
003157,000270: 04,6215           30121                           XCH      OVFIND                                
003158,000271: 04,6216           50062                           TS       ORDER                                 
003159,000272: 04,6217           10000                           CCS      A                                     #  DETERMINE NEW SETTING OF OVFIND
003160,000273: 04,6220           35500                           CAF      ZERO                                  #  TO ZERO
003161,000274: 04,6221           06225                           TC       OVFSET                                
003162,000275: 04,6222           40062                           CS       ORDER                                 #  ORDER WAS NEGATIVE, MAKE IT POSITIVE
003163,000276: 04,6223           50062                           TS       ORDER                                 
003164,000277: 04,6224           34516                           CAF      ONE                                   #  TO SET OVFIND
003165,000278: 04,6225           50121        OVFSET             TS       OVFIND                                
003166,000279: 
003167,000280: 04,6226           30114                           XCH      MPAC                                  #  TRADE C(MPAC TO MPAC+2)
003168,000281: 04,6227           20550                           INDEX    NEWJOB                                
003169,000282: 04,6230           30114                           XCH      MPAC                                  
003170,000283: 04,6231           50114                           TS       MPAC                                  
003171,000284: 04,6232           30115                           XCH      MPAC       +1                         
003172,000285: 04,6233           20550                           INDEX    NEWJOB                                
003173,000286: 04,6234           30115                           XCH      MPAC       +1                         
003174,000287: 04,6235           50115                           TS       MPAC       +1                         
003175,000288: 04,6236           30116                           XCH      MPAC       +2                         
003176,000289: 04,6237           20550                           INDEX    NEWJOB                                
003177,000290: 04,6240           30116                           XCH      MPAC       +2                         
003178,000291: 04,6241           50116                           TS       MPAC       +2                         
003179,000292: 
003180,000293: 04,6242           35500                           CAF      ZERO                                  
003181,000294: 04,6243           50065                           TS       NEWEQIND                              #  MAKE SURE LOAD INDICATOR OFF.
003182,000295: 04,6244           50550        SETNJ              TS       NEWJOB                                
003183,000296: 04,6245           20016                           RELINT                                         #  ENABLE INTERRUPT
003184,000297: 04,6246           10117                           CCS      LOC                                   #  C(LOC) PNZ FOR INTERPRETIVE JOBS.
003185,000298: 04,6247           35500                           CAF      ZERO                                  
003186,000299: 04,6250           04026                           TC       DANZIG     +2                         #  RETURN TO INTERPRETER
003187,000300: 04,6251           64516                           AD       ONE                                   #  GET ABS(LOC) AND RETURN TO BASIC
003188,000301: 04,6252           50061                           TS       ADDRWD                                
003189,000302: 04,6253           40060                           CS       BANKSET                               #  GET DESIRED BANKBITS
003190,000303: 04,6254           02113        ENDCHANG           TC       BASICALL                              
003191,000304: 
003192,000305:    2113                                           SETLOC   CHANG2     +7D                        #  TAKE UP WHERE WE LEFT OFF IN FIXED-FIXED
003193,000306: 
003194,000307:    2113           50015        BASICALL           TS       BANKREG                               
003195,000308:    2114           00061                           TC       ADDRWD                                
003196,000309: 
003197,000310:    2115           32066        ENDOFJOB           CAF      EXECBANK                              #  NORMAL ENDJOB ENTRY.
003198,000311:    2116           50015                           TS       BANKREG                               
003199,000312:    2117           06255                           TC       ENDJOB1                               
003200,000313: 
003201,000314:    2120           50117        JOBSLEEP           TS       LOC                                   #  ENTRY HERE TO DE-ACTIVE THIS JOB.
003202,000315:    2121           32066                           CAF      EXECBANK                              #  LOC IS SET TO THE AWAKENING ADDRESS
003203,000316:    2122           50015                           TS       BANKREG                               #  SO THE SUBSEQUENT JOBWAKE CAN FIND
003204,000317:    2123           06266                           TC       JOBSLP1                               #  THE PROPER REGISTER SET.
003205,000318: 
003206,000319: 04,6255                                           SETLOC   ENDCHANG   +1                         
003207,000320: 
003208,000321: 04,6255           20017        ENDJOB1            INHINT                                         #  INTERPRETIVE JOBS FINISH WITH RTB
003209,000322: 04,6256           45500                           CS       ZERO                                  #  TO ENDJOB1
003210,000323: 04,6257           50077                           TS       BUF        +1                         #  ENDJOB USES BUF, BUF +1, AND BUF +2.
003211,000324: 04,6260           30123                           XCH      PRIORITY                              
003212,000325: 04,6261           74606                           MASK     LOW9                                  #  RESTORE AVAILABILITY OF VAC1 BY SETTING
003213,000326: 04,6262           10000                           CCS      A                                     #  C(VAC1USE) NON-ZERO
003214,000327: 04,6263           20000                           INDEX    A                                     
003215,000328: 04,6264           50000                           TS       0                                     
003216,000329: 
003217,000330: 04,6265           06273                           TC       EJSCAN                                #  ENDJOB NEED NOT EXAMINE FIRST REG. SET.
003218,000331: 
003219,000332: 04,6266           20017        JOBSLP1            INHINT                                         #  FINISH JOB SLEEP AND START ENDJOB-TYPE
003220,000333: 04,6267           40123                           CS       PRIORITY                              #  SCAN. COMPLEMENTED PRIORITY REGISTER
003221,000334: 04,6270           50123                           TS       PRIORITY                              #  SHOWS JOB IS ASLEEP.
003222,000335: 04,6271           45500                           CS       ZERO                                  #  INITIALIZE SEARCH FOR HIGHEST PRIORITY. 
003223,000336: 04,6272           50077                           TS       BUF        +1                         
003224,000337: 
003225,000338: 
003226,000339:                                                                                                  #        SCAN FOR THE ACTIVE JOB OF HIGHEST PRIORITY.
003227,000340: 
003228,000341: 04,6273           10133        EJSCAN             CCS      PRIORITY   +8D                        #  EACH PRIORITY REGISTER (PRIORITY +8N)
003229,000342: 04,6274           06335                           TC       EJ1                                   #  IS SCANNED. ITS CONTENTS ARE EITHER
003230,000343: 04,6276                                           SETLOC   +1                                    
003231,000344: 04,6276           06277                           TC       +1                                    #     2. NNZ - AN INACTIVE PRIORITY NUMBER.
003232,000345: 
003233,000346: 04,6277           10143                           CCS      PRIORITY   +16D                       #  OR 3. -0 - NOT IN USE.
003234,000347: 04,6300           06335                           TC       EJ1                                   #  IF PNZ, CONTROL IS TRANSFERRED TO EJ1
003235,000348: 04,6302                                           SETLOC   +1                                    
003236,000349: 04,6302           06303                           TC       +1                                    #  PARED WITH THE PREVIOUS HIGHEST
003237,000350: 
003238,000351: 04,6303           10153                           CCS      PRIORITY   +24D                       #  PRIORITY FOUND. THE CONTENTS OF Q
003239,000352: 04,6304           06335                           TC       EJ1                                   #  SERVE TO LOCATE THE CCS WHICH WAS
003240,000353: 04,6306                                           SETLOC   +1                                    
003241,000354: 04,6306           06307                           TC       +1                                    #  NEWJOB IS SET TO THE RELATIVE ADDRESS
003242,000355: 
003243,000356: 04,6307           10163                           CCS      PRIORITY   +32D                       #  OF THE REGISTER SET WITH THE HIGHTEST 
003244,000357: 04,6310           06335                           TC       EJ1                                   #  ACTIVE PRIORITY AT THE END OF THE SCAN.
003245,000358: 04,6312                                           SETLOC   +1                                    
003246,000359: 04,6312           06313                           TC       +1                                    
003247,000360: 
003248,000361: 04,6313           10173                           CCS      PRIORITY   +40D                       
003249,000362: 04,6314           06335                           TC       EJ1                                   
003250,000363: 04,6315           70000        EXEC70K            OCT      70000                                 
003251,000364: 04,6316           06317                           TC       +1                                    
003252,000365: 
003253,000366: 04,6317           10203                           CCS      PRIORITY   +48D                       
003254,000367: 04,6320           06335                           TC       EJ1                                   
003255,000368: 04,6321           67654        -CCSPR            -CCS      PRIORITY                              
003256,000369: 04,6322           06323                           TC       +1                                    
003257,000370: 
003258,000371: 04,6323           10213                           CCS      PRIORITY   +56D                       
003259,000372: 04,6324           06335                           TC       EJ1                                   
003260,000373: 04,6326                                           SETLOC   +1                                    
003261,000374: 04,6326           06327                           TC       +1                                    
003262,000375: 
003263,000376: 04,6327           20076                           INDEX    BUF                                   #  PICK UP CCS INSTRUCTION TO GET NEWJOB
003264,000377: 04,6330           27776                           CAF      0          -2                         #  SELECT CCS INSTRUCTION.
003265,000378: 04,6331           66321                           AD       -CCSPR                                
003266,000379: 04,6332           50550                           TS       NEWJOB                                #  RELATIVE ADDRESS ONLY.
003267,000380: 04,6333           30117                           XCH      LOC                                   #  (NO MEANING FOR ENDOFJOB).
003268,000381: 04,6334           06144                           TC       CHANJOB                               
003269,000382: 
003270,000383: 
003271,000384: 
003272,000385: 04,6335           50100        EJ1                TS       BUF        +2                         #  STORE NEW PRIORITY
003273,000386: 04,6336           60077                           AD       BUF        +1                         #  - OLD PRIORITY
003274,000387: 04,6337           10000                           CCS      A                                     
003275,000388: 04,6340           30001                           XCH      Q                                     #  IF NEW PRIORITY IS LARGER
003276,000389: 04,6341           06345                           TC       EJ2                                   
003277,000390: 04,6342           30000                           NOOP                                           #  IF OLD PRIORITY IS LARGER
003278,000391: 04,6343           20001                           INDEX    Q                                     #    OR EQUAL
003279,000392: 04,6344           00002                           TC       2                                     
003280,000393: 
003281,000394: 04,6345           50076        EJ2                TS       BUF                                   #  SAVE C(Q) TO LOCATE HIGHEST PRIORITY
003282,000395: 04,6346           40100                           CS       BUF        +2                         #    JOB AT END OF SCAN.
003283,000396: 04,6347           50077                           TS       BUF        +1                         
003284,000397: 04,6350           20076                           INDEX    BUF                                   
003285,000398: 04,6351           00002                           TC       2                                     

End of include-file EXECUTIVE.agc.  Parent file is MAIN.agc