Source Code

These source-code files were obtained by digitally photographing an Artemis 72 program listing from a private collection and then modifying pre-existing Comanche 55 (Apollo 11) source files to incorporate changes. Note that the page images presented online are of reduced quality, and that additional images may be available. Report any conversion errors or legibility problems in page images to info@sandroid.org. Notations on the program listing read, in part:

	GAP: ASSEMBLE REVISION 072 OF AGC PROGRAM ARTEMIS 
	BY NASA 2021114-011 11:40 FEB. 26, 1971

	THIS AGC PROGRAM SHALL ALSO BE REFERRED TO AS
				COLOSSUS 3
	THIS PROGRAM IS INTENDED FOR USE IN THE CM AS SPECIFIED
	IN REPORT R-577.  THIS PROGRAM WAS PREPARED UNDER OSR
	PROJECT 55-23890, SPONSORED BY THE MANNED SPACECRAFT
	CENTER OF THE NATIONAL AERONAUTICS AND SPACE
	ADMINISTRATION THROUGH CONTRACT NAS 9-4065 WITH THE
	CHARLES STARK DRAPER LABORATORY, MASSACHUSETTS INSTITUTE OF
	TECHNOLOGY, CAMBRIDGE, MASS.

051631,000002:                                                                                                 #  Copyright:     Public domain.
051632,000003:                                                                                                 #  Filename:      EXECUTIVE.agc
051633,000004:                                                                                                 #  Purpose:       Part of the source code for Artemis (i.e., Colossus 3),
051634,000005:                                                                                                 #                 build 072.  This is for the Command Module's (CM)
051635,000006:                                                                                                 #                 Apollo Guidance Computer (AGC), we believe for
051636,000007:                                                                                                 #                 Apollo 15-17.
051637,000008:                                                                                                 #  Assembler:     yaYUL
051638,000009:                                                                                                 #  Contact:       Jim Lawton <jim DOT lawton AT gmail DOT com>
051639,000010:                                                                                                 #  Website:       www.ibiblio.org/apollo/index.html
051640,000011:                                                                                                 #  Page scans:    www.ibiblio.org/apollo/ScansForConversion/Artemis072/
051641,000012:                                                                                                 #  Mod history:   2009-08-29 JL   Adapted from corresponding Comanche 055 file.
051642,000013:                                                                                                 #                 2010-02-10 JL   Fixed error on p1218.
051643,000014:                                                                                                 #                 2010-02-20 RSB  Un-##'d this header.
051644,000015: 

Page 1208

051646,000017: 
051647,000018:    4000                                          SETLOC   EXECF2                                
051648,000019:    4000                                          BANK                                           
051649,000020: 
051650,000021:                                                                                                 #  TO ENTER A JOB REQUEST REQUIRING NO VAC AREA:
051651,000022: 
051652,000023:    5120                                          COUNT*   $$/EXEC                               
051653,000024:    5120           34346        NOVAC30           CAF      PRIO30                                
051654,000025:    5121           00004        NOVAC             INHINT                                         
051655,000026:    5122           65213                          AD       FAKEPRET                              #  LOC(MPAC +6) - LOC(QPRET)
051656,000027:    5123           54063                          TS       NEWPRIO                               #  PRIORITY OF NEW JOB + NOVAC C(FIXLOC)
051657,000028: 
051658,000029:    5124           00006                          EXTEND                                         
051659,000030:    5125           50002                          INDEX    Q                                     #  Q WILL BE UNDISTURBED THROUGHOUT.
051660,000031:    5126           30001                          DCA      0                                     #  2CADR OF JOB ENTERED.
051661,000032:    5127           52066                          DXCH     NEWLOC                                
051662,000033:    5130           34756                          CAF      EXECBANK                              
051663,000034:    5131           56004                          XCH      FBANK                                 
051664,000035:    5132           54061                          TS       EXECTEM1                              
051665,000036:    5133           12620                          TCF      NOVAC2                                #  ENTER EXECUTIVE BANK.
051666,000037: 
051667,000038:                                                                                                 #  TO ENTER A JOB REQUEST REQUIRING A VAC AREA - E.G., ALL (PARTIALLY) INTERPRETIVE JOBS.
051668,000039: 
051669,000040:    5134           34753        FINVAC20          CAF      PRIO20                                
051670,000041:    5135           00004        FINDVAC           INHINT                                         
051671,000042:    5136           54063                          TS       NEWPRIO                               
051672,000043:    5137           00006                          EXTEND                                         
051673,000044:    5140           50002                          INDEX    Q                                     
051674,000045:    5141           30001                          DCA      0                                     
051675,000046:    5142           52066        SPVACIN           DXCH     NEWLOC                                
051676,000047:    5143           34756                          CAF      EXECBANK                              
051677,000048:    5144           56004                          XCH      FBANK                                 
051678,000049:    5145           12576                          TCF      FINDVAC2                              #  OFF TO EXECUTIVE SWITCHED-BANK.
051679,000050: 
051680,000051:                                                                                                 #  TO ENTER A FINDVAC WITH THE PRIORITY IN NEWPRIO TO THE 2CADR ARRIVING IN A AND L:
051681,000052: 
051682,000053:                                                                                                 #  USERS OF SPVAC MUST INHINT BEFORE STORING IN NEWPRIO.
051683,000054: 
051684,000055:    5146           56002        SPVAC             XCH      Q                                     
051685,000056:    5147           67701                          AD       NEG2                                  
051686,000057:    5150           56002                          XCH      Q                                     
051687,000058:    5151           15142                          TCF      SPVACIN                               
051688,000059: 
051689,000060:                                                                                                 #  TO SUSPEND A BASIC JOB SO A HIGHER PRIORITY JOB MAY BE SERVICED:
051690,000061: 
051691,000062:    5152           22002        CHANG1            LXCH     Q                                     
051692,000063:    5153           34756                          CAF      EXECBANK                              
051693,000064:    5154           56006                          XCH      BBANK                                 
051694,000065:    5155           12677                          TCF      CHANJOB                               
051695,000066: 
051696,000067:                                                                                                 #  TO SUSPEND AN INTERPRETIVE JOB:
051697,000068: 

Page 1209

051699,000070:    5156           40164        CHANG2            CS       LOC                                   #  NEGATIVE LOC SHOWS JOB = INTERPRETIVE.
051700,000071:                                                                                                 #  ITRACE (4) REFERS TO "CHANG2".
051701,000072:    5157           54001                          TS       L                                     
051702,000073:    5160           34756                 +2       CAF      EXECBANK                              
051703,000074:    5161           54006                          TS       BBANK                                 
051704,000075:    5162           12676                          TCF      CHANJOB    -1                         
051705,000076: 

Page 1210

051707,000078:                                                                                                 #  TO VOLUNTARILY SUSPEND A JOB UNTIL THE COMPLETION OF SOME ANTICIPATED EVENT (I/O EVENT ETC.):
051708,000079: 
051709,000080:    5163           54164        JOBSLEEP          TS       LOC                                   
051710,000081:    5164           34756                          CAF      EXECBANK                              
051711,000082:    5165           54004                          TS       FBANK                                 
051712,000083:    5166           12767                          TCF      JOBSLP1                               
051713,000084: 
051714,000085:                                                                                                 #  TO AWAKEN A JOB PUT TO SLEEP IN THE ABOVE FASHION:
051715,000086: 
051716,000087:    5167           00004        JOBWAKE           INHINT                                         
051717,000088:    5170           54065                          TS       NEWLOC                                
051718,000089:    5171           44767                          CS       TWO                                   #  EXIT IS VIA FINDVAC/NOVAC PROCEDURES.
051719,000090:    5172           26002                          ADS      Q                                     
051720,000091:    5173           34756                          CAF      EXECBANK                              
051721,000092:    5174           56004                          XCH      FBANK                                 
051722,000093:    5175           13014                          TCF      JOBWAKE2                              
051723,000094: 
051724,000095:                                                                                                 #  TO CHANGE THE PRIORITY OF A JOB CURRENTLY UNDER EXECUTION:
051725,000096: 
051726,000097:    5176           00004        PRIOCHNG          INHINT                                         #  NEW PRIORITY ARRIVES IN A. RETURNS TO
051727,000098:    5177           54063                          TS       NEWPRIO                               #  CALLER AS SOON AS NEW JOB PRIORITY IS
051728,000099:    5200           34756                          CAF      EXECBANK                              #  HIGHEST. PREPARE FOR POSSIBLE BASIC-
051729,000100:    5201           56006                          XCH      BBANK                                 #  STYLE CHANGE-JOB.
051730,000101:    5202           54165                          TS       BANKSET                               
051731,000102:    5203           30002                          CA       Q                                     
051732,000103:    5204           13063                          TCF      PRIOCH2                               
051733,000104: 
051734,000105:                                                                                                 #  TO REMOVE A JOB FROM EXECUTIVE CONSIDERATIONS:
051735,000106: 
051736,000107:    5205           34756        ENDOFJOB          CAF      EXECBANK                              
051737,000108:    5206           54004                          TS       FBANK                                 
051738,000109:    5207           13074                          TCF      ENDJOB1                               
051739,000110: 
051740,000111:    5210           30061        ENDFIND           CA       EXECTEM1                              #  RETURN TO CALLER AFTER JOB ENTRY
051741,000112:    5211           54004                          TS       FBANK                                 #  COMPLETE.
051742,000113:    5212           16710                          TCF      Q+2                                   
051743,000114:    5213     4756               EXECBANK          EQUALS   BIT11                                 #  THIS IS TRUE IF FINDVAC2 STAYS IN BANK 01
051744,000115: 
051745,000116:    5213           00110        FAKEPRET          ADRES    MPAC       -36D                       #  LOC(MPAC +6) - LOC(QPRET)
051746,000117: 

Page 1211

051748,000119:                                                                                                 #  LOCATE AN AVAILABLE VAC AREA.
051749,000120: 
051750,000121: 01,2000                                          SETLOC   EXECB1                                
051751,000122: 01,2000                                          BANK                                           
051752,000123: 
051753,000124: 01,2576                                          COUNT*   $$/EXEC                               
051754,000125:                                                                                                 #       ********  IF THE  EXECUTIVE IS 
051755,000126:                                                                                                 #                 MOVED   OUT OF BANK 01
051756,000127:                                                                                                 #                 DONT    FORGET TO CHANGE
051757,000128:                                                                                                 #                 THE     VALUE OF
051758,000129:                                                                                                 #                 ******  EXECBANK ****
051759,000130: 01,2576           54061        FINDVAC2          TS       EXECTEM1                              #  (SAVE CALLER'S BANK FIRST.)
051760,000131: 01,2577           10400                          CCS      VAC1USE                               
051761,000132: 01,2600           12613                          TCF      VACFOUND                              
051762,000133: 01,2601           10454                          CCS      VAC2USE                               
051763,000134: 01,2602           12613                          TCF      VACFOUND                              
051764,000135: 01,2603           10530                          CCS      VAC3USE                               
051765,000136: 01,2604           12613                          TCF      VACFOUND                              
051766,000137: 01,2605           10604                          CCS      VAC4USE                               
051767,000138: 01,2606           12613                          TCF      VACFOUND                              
051768,000139: 01,2607           10660                          CCS      VAC5USE                               
051769,000140: 01,2610           12613                          TCF      VACFOUND                              
051770,000141: 01,2611           07706                          TC       BAILOUT                               
051771,000142: 01,2612           31201                          OCT      31201                                 #  NO VAC AREAS
051772,000143: 
051773,000144: 01,2613           64767        VACFOUND          AD       TWO                                   #  RESERVE THIS VAC AREA BY STORING A ZERO
051774,000145: 01,2614           22007                          ZL                                             #  IN ITS VAC USE REGISTER AND STORE THE
051775,000146: 01,2615           50000                          INDEX    A                                     #  ADDRESS OF THE FIRST WORD OF IT IN THE
051776,000147: 01,2616           21777                          LXCH     0          -1                         #  LOW NINE BITS OF THE PRIORITY WORD.
051777,000148: 01,2617           26063                          ADS      NEWPRIO                               
051778,000149: 
051779,000150: 01,2620           34772        NOVAC2            CAF      ZERO                                  #  NOVAC ENTERS HERE. FIND A CORE SET.
051780,000151: 01,2621           54064                          TS       LOCCTR                                
051781,000152: 01,2622           32627                          CAF      NO.CORES                              #  SEVEN SETS OF ELEVEN REGISTERS EACH.
051782,000153: 01,2623           54062        NOVAC3            TS       EXECTEM2                              
051783,000154: 01,2624           50064                          INDEX    LOCCTR                                
051784,000155: 01,2625           10167                          CCS      PRIORITY                              #  EACH PRIORITY REGISTER CONTAINS -0 IF
051785,000156: 01,2626           12667                          TCF      NEXTCORE                              #  THE CORESPONDING CORE SET IS AVAILABLE.
051786,000157: 01,2627           00006        NO.CORES          DEC      6          B-14                       
051787,000158: 01,2630           12667                          TCF      NEXTCORE                              #  AN ACTIVE JOB HAS A POSITIVE PRIORITY
051788,000159:                                                                                                 #  BUT A DORMANT JOB'S PRIORITY IS NEGATIVE
051789,000160: 

Page 1212

051791,000162: 01,2631           30063        CORFOUND          CA       NEWPRIO                               #  SET THE PRIORITY OF THIS JOB IN THE CORE
051792,000163: 01,2632           50064                          INDEX    LOCCTR                                #  SET'S PRIORITY REGISTER AND SET THE
051793,000164: 01,2633           54167                          TS       PRIORITY                              #  JOB'S PUSH-DOWN POINTER AT THE BEGINNING
051794,000165: 01,2634           75021                          MASK     LOW9                                  #  OF THE WORK AREA AND OVERFLOW INDICATOR
051795,000166: 01,2635           50064                          INDEX    LOCCTR                                
051796,000167: 01,2636           54166                          TS       PUSHLOC                               #  OFF TO PREPARE FOR INTERPRETIVE PROGRAMS
051797,000168: 
051798,000169: 01,2637           10064                          CCS      LOCCTR                                #  IF CORE SET ZERO IS BEING LOADED, SET UP
051799,000170: 01,2640           12654                          TCF      SETLOC                                #  OVFIND AND FIXLOC IMMEDIATELY.
051800,000171: 01,2641           54121                          TS       OVFIND                                
051801,000172: 01,2642           30166                          CA       PUSHLOC                               
051802,000173: 01,2643           54120                          TS       FIXLOC                                
051803,000174: 
051804,000175: 01,2644           10067        SPECTEST          CCS      NEWJOB                                #  SEE IF ANY ACTIVE JOBS WAITING (RARE).
051805,000176: 01,2645           12654                          TCF      SETLOC                                #  MUST BE AWAKENED OUT UNCHANGED JOB.
051806,000177: 01,2646           12647                          NOOP                                           #  CANNOT GET HERE
051807,000178: 01,2647           12650                          NOOP                                           #  CANNOT GET HERE
051808,000179: 01,2650           54067                          TS       NEWJOB                                #  +0 SHOWS ACTIVE JOB ALREADY SET.
051809,000180: 01,2651           52066                          DXCH     NEWLOC                                
051810,000181: 01,2652           52165                          DXCH     LOC                                   
051811,000182: 01,2653           15210                          TCF      ENDFIND                               
051812,000183: 
051813,000184: 01,2654           52066        SETLOC            DXCH     NEWLOC                                #  SET UP THE LOCATION REGISTERS FOR THIS
051814,000185: 01,2655           50064                          INDEX    LOCCTR                                
051815,000186: 01,2656           52165                          DXCH     LOC                                   
051816,000187: 01,2657           50067                          INDEX    NEWJOB                                #  THIS INDEX INSTRUCTION INSURES THAT THE
051817,000188: 01,2660           40167                          CS       PRIORITY                              #  HIGHEST ACTIVE PRIORITY WILL BE COMPARED
051818,000189: 01,2661           60063                          AD       NEWPRIO                               #  WITH THE NEW PRIORITY TO SEE IF NEWJOB
051819,000190: 01,2662           00006                          EXTEND                                         #  SHOULD BE SET TO SIGNAL A SWITCH.
051820,000191: 01,2663           65210                          BZMF     ENDFIND                               
051821,000192: 01,2664           30064                          CA       LOCCTR                                #  LOCCTR IS LEFT SET AT THIS CORE SET IF
051822,000193: 01,2665           54067                          TS       NEWJOB                                #  THE CALLER WANTS TO LOAD ANY MPAC
051823,000194: 01,2666           15210                          TCF      ENDFIND                               #  REGISTERS, ETC.
051824,000195: 
051825,000196: 01,2667           33024        NEXTCORE          CAF      COREINC                               
051826,000197: 01,2670           26064                          ADS      LOCCTR                                
051827,000198: 01,2671           10062                          CCS      EXECTEM2                              
051828,000199: 01,2672           12623                          TCF      NOVAC3                                
051829,000200: 01,2673           07706                          TC       BAILOUT                               #  NO CORE SETS.
051830,000201: 01,2674           31202                          OCT      31202                                 
051831,000202: 

Page 1213

051833,000204:                                                                                                 #  THE FOLLOWING ROUTINE SWAPS CORE SET 0 WITH THAT WHOSE RELATIVE ADDRESS IS IN NEWJOB.
051834,000205: 
051835,000206: 01,2675           22164                 -2       LXCH     LOC                                   
051836,000207: 01,2676           30165                 -1       CAE      BANKSET                               #  BANKSET, NOT BBANK, HAS RIGHT CONTENTS.
051837,000208: 01,2677           00004        CHANJOB           INHINT                                         
051838,000209: 01,2700           00006                          EXTEND                                         
051839,000210: 01,2701           04007                          ROR      SUPERBNK                              #  PICK UP CURRENT SBANK FOR BBCON
051840,000211: 01,2702           56001                          XCH      L                                     #  LOC IN A AND BBCON IN L.
051841,000212: 01,2703           50067                 +4       INDEX    NEWJOB                                #  SWAP LOC AND BANKSET.
051842,000213: 01,2704           52165                          DXCH     LOC                                   
051843,000214: 01,2705           52165                          DXCH     LOC                                   
051844,000215: 
051845,000216: 01,2706           30165                          CAE      BANKSET                               
051846,000217: 01,2707           00006                          EXTEND                                         
051847,000218: 01,2710           01007                          WRITE    SUPERBNK                              #  SET SBANK FOR NEW JOB.
051848,000219: 01,2711           52155                          DXCH     MPAC                                  #  SWAP MULTI-PURPOSE ACCUMULATOR AREAS.
051849,000220: 01,2712           50067                          INDEX    NEWJOB                                
051850,000221: 01,2713           52155                          DXCH     MPAC                                  
051851,000222: 01,2714           52155                          DXCH     MPAC                                  
051852,000223: 01,2715           52157                          DXCH     MPAC       +2                         
051853,000224: 01,2716           50067                          INDEX    NEWJOB                                
051854,000225: 01,2717           52157                          DXCH     MPAC       +2                         
051855,000226: 01,2720           52157                          DXCH     MPAC       +2                         
051856,000227: 01,2721           52161                          DXCH     MPAC       +4                         
051857,000228: 01,2722           50067                          INDEX    NEWJOB                                
051858,000229: 01,2723           52161                          DXCH     MPAC       +4                         
051859,000230: 01,2724           52161                          DXCH     MPAC       +4                         
051860,000231: 01,2725           52163                          DXCH     MPAC       +6                         
051861,000232: 01,2726           50067                          INDEX    NEWJOB                                
051862,000233: 01,2727           52163                          DXCH     MPAC       +6                         
051863,000234: 01,2730           52163                          DXCH     MPAC       +6                         
051864,000235: 
051865,000236: 01,2731           34772                          CAF      ZERO                                  
051866,000237: 01,2732           56121                          XCH      OVFIND                                #  MAKE PUSHLOC NEGATIVE IF OVFIND NZ.
051867,000238: 01,2733           00006                          EXTEND                                         
051868,000239: 01,2734           12737                          BZF      +3                                    
051869,000240: 01,2735           40166                          CS       PUSHLOC                               
051870,000241: 01,2736           54166                          TS       PUSHLOC                               
051871,000242: 
051872,000243: 01,2737           52167                          DXCH     PUSHLOC                               
051873,000244: 01,2740           50067                          INDEX    NEWJOB                                
051874,000245: 01,2741           52167                          DXCH     PUSHLOC                               
051875,000246: 01,2742           52167                          DXCH     PUSHLOC                               #  SWAPS PUSHLOC AND PRIORITY.
051876,000247: 01,2743           35021                          CAF      LOW9                                  #  SET FIXLOC TO BASE OF VAC AREA.
051877,000248: 01,2744           70167                          MASK     PRIORITY                              
051878,000249: 01,2745           54120                          TS       FIXLOC                                
051879,000250: 
051880,000251: 01,2746           10166                          CCS      PUSHLOC                               #  SET OVERFLOW INDICATOR ACCORDING TO
051881,000252: 01,2747           34772                          CAF      ZERO                                  
051882,000253: 01,2750           12755                          TCF      ENDPRCHG   -1                         

Page 1214

051884,000255: 01,2751           40166                          CS       PUSHLOC                               
051885,000256: 01,2752           54166                          TS       PUSHLOC                               
051886,000257: 01,2753           34770                          CAF      ONE                                   
051887,000258: 01,2754           56121                          XCH      OVFIND                                
051888,000259: 01,2755           54067                 -1       TS       NEWJOB                                
051889,000260: 01,2756           00003        ENDPRCHG          RELINT                                         
051890,000261: 01,2757           52165                          DXCH     LOC                                   #  BASIC JOBS HAVE POSITIVE ADDRESSES, SO
051891,000262: 01,2760           00006                          EXTEND                                         #  DISPATCH WITH A DTCB.
051892,000263: 01,2761           62763                          BZMF     +2                                    #  IF INTERPRETIVE, SET UP EBANK, ETC.
051893,000264: 01,2762           52006                          DTCB                                           
051894,000265: 

Page 1215

051896,000267: 
051897,000268: 01,2763           40000                          COM                                            #  EPILOGUE TO JOB CHANGE FOR INTERPRETIVE
051898,000269: 01,2764           64770                          AD       ONE                                   
051899,000270: 01,2765           54164                          TS       LOC                                   #  RESUME
051900,000271: 01,2766           16017                          TCF      INTRSM                                
051901,000272: 
051902,000273:                                                                                                 #  COMPLETE JOBSLEEP PREPARATIONS.
051903,000274: 
051904,000275: 01,2767           00004        JOBSLP1           INHINT                                         
051905,000276: 01,2770           40167                          CS       PRIORITY                              #  NNZ PRIORITY SHOWS JOB ASLEEP.
051906,000277: 01,2771           54167                          TS       PRIORITY                              
051907,000278: 01,2772           36043                          CAF      LOW7                                  
051908,000279: 01,2773           70006                          MASK     BBANK                                 
051909,000280: 01,2774           00006                          EXTEND                                         
051910,000281: 01,2775           04007                          ROR      SUPERBNK                              #  SAVE OLD SUPERBANK VALUE.
051911,000282: 01,2776           54165                          TS       BANKSET                               
051912,000283: 01,2777           44772                          CS       ZERO                                  
051913,000284: 01,3000           54131        JOBSLP2           TS       BUF        +1                         #  HOLDS - HIGHEST PRIORITY.
051914,000285: 01,3001           13111                          TCF      EJSCAN                                #  SCAN FOR HIGHEST PRIORITY ALA ENDOFJOB.
051915,000286: 
051916,000287: 01,3002           00004        NUCHANG2          INHINT                                         #  QUICK... DONT LET NEWJOB CHANGE TO +0.
051917,000288: 01,3003           10067                          CCS      NEWJOB                                
051918,000289: 01,3004           13007                          TCF      +3                                    #  NEWJOB STILL PNZ
051919,000290: 01,3005           00003                          RELINT                                         #  NEW JOB HAS CHANGED TO +0. WAKE UP JOB
051920,000291: 01,3006           13201                          TCF      ADVAN      +2                         #  VIA NUDIRECT. (VERY RARE CASE.)
051921,000292: 
051922,000293: 01,3007           34767                          CAF      TWO                                   
051923,000294: 01,3010           00006                          EXTEND                                         
051924,000295: 01,3011           05011                          WOR      DSALMOUT                              #  TURN ON ACTIVITY LIGHT
051925,000296: 01,3012           52165                          DXCH     LOC                                   #  AND SAVE ADDRESS INFO FOR BENEFIT OF
051926,000297: 01,3013           12703                          TCF      CHANJOB    +4                         #   POSSIBLE SLEEPING JOB.
051927,000298: 

Page 1216

051929,000300:                                                                                                 #  TO WAKE UP A JOB, EACH CORE SET IS FOUND TO LOCATE ALL JOBS WHICH ARE ASLEEP. IF THE FCADR IN THE
051930,000301:                                                                                                 #  LOC REGISTER OF ANY SUCH JOB MATCHES THAT SUPPLIED BY THE CALLER, THAT JOB IS AWAKENED. IF NO JOB IS FOUND,
051931,000302:                                                                                                 #  LOCCTR IS SET TO -1 AND NO FURTHER ACTION TAKES PLACE.
051932,000303: 
051933,000304: 01,3014           54061        JOBWAKE2          TS       EXECTEM1                              
051934,000305: 01,3015           34772                          CAF      ZERO                                  #  BEGIN CORE SET SCAN.
051935,000306: 01,3016           54064                          TS       LOCCTR                                
051936,000307: 01,3017           32627                          CAF      NO.CORES                              
051937,000308: 01,3020           54062        JOBWAKE4          TS       EXECTEM2                              
051938,000309: 01,3021           50064                          INDEX    LOCCTR                                
051939,000310: 01,3022           10167                          CCS      PRIORITY                              
051940,000311: 01,3023           13026                          TCF      JOBWAKE3                              #  ACTIVE JOB - CHECK NEXT CORE SET.
051941,000312: 01,3024           00014        COREINC           DEC      12         B-14                       #  12 REGISTERS PER CORE SET.
051942,000313: 01,3025           13035                          TCF      WAKETEST                              #  SLEEPING JOB - SEE IF CADR MATCHES.
051943,000314: 
051944,000315: 01,3026           33024        JOBWAKE3          CAF      COREINC                               
051945,000316: 01,3027           26064                          ADS      LOCCTR                                
051946,000317: 01,3030           10062                          CCS      EXECTEM2                              
051947,000318: 01,3031           13020                          TCF      JOBWAKE4                              
051948,000319: 01,3032           44770                          CS       ONE                                   #  EXIT IF SLEEPING JOB NOT FOUND.
051949,000320: 01,3033           54064                          TS       LOCCTR                                
051950,000321: 01,3034           15210                          TCF      ENDFIND                               
051951,000322: 
051952,000323: 01,3035           40065        WAKETEST          CS       NEWLOC                                
051953,000324: 01,3036           50064                          INDEX    LOCCTR                                
051954,000325: 01,3037           60164                          AD       LOC                                   
051955,000326: 01,3040           00006                          EXTEND                                         
051956,000327: 01,3041           13043                          BZF      +2                                    #  IF MATCH.
051957,000328: 01,3042           13026                          TCF      JOBWAKE3                              #  EXAMINE NEXT CORE SET IF NO MATCH.
051958,000329: 
051959,000330: 01,3043           50064                          INDEX    LOCCTR                                #  RE-COMPLEMENT PRIORITY TO SHOW JOB AWAKE
051960,000331: 01,3044           40167                          CS       PRIORITY                              
051961,000332: 01,3045           54063                          TS       NEWPRIO                               
051962,000333: 01,3046           50064                          INDEX    LOCCTR                                
051963,000334: 01,3047           54167                          TS       PRIORITY                              
051964,000335: 
051965,000336: 01,3050           44344                          CS       FBANKMSK                              #  MASK UP THE 2CADR OF THE WAKE ADDRESS
051966,000337: 01,3051           70065                          MASK     NEWLOC                                #  USING THE CADR IN NEWLOC AND THE EBANK
051967,000338: 01,3052           64756                          AD       2K                                    #  HALF OF BBANK SAVED IN BANKSET.
051968,000339: 01,3053           56065                          XCH      NEWLOC                                
051969,000340: 01,3054           74344                          MASK     FBANKMSK                              
051970,000341: 01,3055           50064                          INDEX    LOCCTR                                
051971,000342: 01,3056           60165                          AD       BANKSET                               
051972,000343: 01,3057           54066                          TS       NEWLOC     +1                         
051973,000344: 
051974,000345: 01,3060           10064                          CCS      LOCCTR                                #  SPECIAL TREATMENT IF THIS JOB WAS
051975,000346: 01,3061           12654                          TCF      SETLOC                                #  ALREADY IN THE RUN (0) POSITION.
051976,000347: 01,3062           12644                          TCF      SPECTEST                              
051977,000348: 

Page 1217

051979,000350:                                                                                                 #  PRIORITY CHANGE. CHANGE THE CONTENTS OF PRIORITY AND SCAN FOR THE JOB OF HIGHEST PRIORITY.
051980,000351: 
051981,000352: 01,3063           54164        PRIOCH2           TS       LOC                                   
051982,000353: 01,3064           34772                          CAF      ZERO                                  #  SET FLAG TO TELL ENDJOB SCANNER IF THIS
051983,000354: 01,3065           54130                          TS       BUF                                   #  JOB IS STILL HIGHEST PRIORITY.
051984,000355: 01,3066           35021                          CAF      LOW9                                  
051985,000356: 01,3067           70167                          MASK     PRIORITY                              
051986,000357: 01,3070           60063                          AD       NEWPRIO                               
051987,000358: 01,3071           54167                          TS       PRIORITY                              
051988,000359: 01,3072           40000                          COM                                            
051989,000360: 01,3073           13000                          TCF      JOBSLP2                               #  AND TO EJSCAN.
051990,000361: 

Page 1218

051992,000363:                                                                                                 #  RELEASE THIS CORE SET AND VAC AREA AND SCAN FOR THE JOB OF HIGHEST ACTIVE PRIORITY.
051993,000364: 
051994,000365: 01,3074           00004        ENDJOB1           INHINT                                         
051995,000366: 01,3075           44772                          CS       ZERO                                  
051996,000367: 01,3076           54131                          TS       BUF        +1                         
051997,000368: 01,3077           56167                          XCH      PRIORITY                              
051998,000369: 01,3100           75021                          MASK     LOW9                                  
051999,000370: 01,3101           54001                          TS       L                                     
052000,000371: 
052001,000372: 01,3102           45213                          CS       FAKEPRET                              
052002,000373: 01,3103           60001                          AD       L                                     
052003,000374: 
052004,000375: 01,3104           00006                          EXTEND                                         
052005,000376: 01,3105           63111                          BZMF     EJSCAN                                #  NOVAC ENDOFJOB
052006,000377: 
052007,000378: 01,3106           10001                          CCS      L                                     
052008,000379: 01,3107           50000                          INDEX    A                                     
052009,000380: 01,3110           54000                          TS       0                                     
052010,000381: 
052011,000382: 01,3111           10203        EJSCAN            CCS      PRIORITY   +12D                       
052012,000383: 01,3112           03156                          TC       EJ1                                   
052013,000384: 01,3113     1361                                 EBANK=   SELFRET                               
052014,000385: 01,3113           66102        SELFBANK          BBCON    SELFCHK                               #  CANNOT GET HERE
052015,000386: 01,3114           13115                          TCF      +1                                    
052016,000387: 
052017,000388: 01,3115           10217                          CCS      PRIORITY   +24D                       #  EXAMINE EACH PRIORITY REGISTER TO FIND
052018,000389: 01,3116           03156                          TC       EJ1                                   #  THE JOB OF HIGHEST ACTIVE PRIORITY.
052019,000390: 01,3117           40201        OCT40201          OCT      40201                                 #  CANNOT GET HERE
052020,000391: 01,3120           13121                          TCF      +1                                    
052021,000392: 
052022,000393: 01,3121           10233                          CCS      PRIORITY   +36D                       
052023,000394: 01,3122           03156                          TC       EJ1                                   
052024,000395: 01,3123           67610        -CCSPR            -CCS     PRIORITY                              
052025,000396: 01,3124           13125                          TCF      +1                                    
052026,000397: 
052027,000398: 01,3125           10247                          CCS      PRIORITY   +48D                       
052028,000399: 01,3126           03156                          TC       EJ1                                   
052029,000400: 01,3127           03724        PHS2CADR          GENADR   PHSPART2                              #  CANNOT GET HERE
052030,000401: 01,3130           13131                          TCF      +1                                    
052031,000402: 
052032,000403: 01,3131           10263                          CCS      PRIORITY   +60D                       
052033,000404: 01,3132           03156                          TC       EJ1                                   
052034,000405: 01,3133           03502        PRT2CADR          GENADR   GETPART2                              #  CANNOT GET HERE
052035,000406: 01,3134           13135                          TCF      +1                                    
052036,000407: 
052037,000408: 01,3135           10277                          CCS      PRIORITY   +72D                       
052038,000409: 01,3136           03156                          TC       EJ1                                   
052039,000410: 01,3137           05332        LGCLCADR          GENADR   LONGCALL                              #  CANNOT GET HERE
052040,000411: 01,3140           13141                          TCF      +1                                    
052041,000412: 

Page 1219

052043,000414:                                                                                                 #  EVALUATE THE RESULTS OF THE SCAN.
052044,000415: 
052045,000416: 01,3141           10131                          CCS      BUF        +1                         #  SEE IF THERE ARE ANY ACTIVE JOBS WAITING
052046,000417: 
052047,000418: 01,3142           53301        GETCADR           DXCH     LONGCADR                              #  CANNOT GET HERE
052048,000419: 01,3143           05214                          TC       SUPDXCHZ                              
052049,000420: 01,3144           13146                          TCF      +2                                    
052050,000421: 01,3145           13171                          TCF      DUMMYJOB                              
052051,000422: 01,3146           10130                          CCS      BUF                                   #  BUF IS ZERO IF THIS IS A PRIOCHNG AND
052052,000423: 01,3147           13151                          TCF      +2                                    #  CHANGED PRIORITY IS STILL HIGHEST.
052053,000424: 01,3150           12755                          TCF      ENDPRCHG   -1                         
052054,000425: 
052055,000426: 01,3151           50000                          INDEX    A                                     #  OTHERWISE, SET NEWJOB TO THE RELATIVE

Was CAF --- RSB 2004

052057,000428: 01,3152           27777                          CA       0          -1                         #  ADDRESS OF THE NEW JOB'S CORE SET.
052058,000429: 01,3153           63123                          AD       -CCSPR                                
052059,000430: 01,3154           54067                          TS       NEWJOB                                
052060,000431: 01,3155           12675                          TCF      CHANJOB    -2                         
052061,000432: 
052062,000433: 01,3156           54132        EJ1               TS       BUF        +2                         
052063,000434: 01,3157           60131                          AD       BUF        +1                         #  - OLD HIGH PRIORITY.
052064,000435: 01,3160           10000                          CCS      A                                     
052065,000436: 01,3161           40132                          CS       BUF        +2                         
052066,000437: 01,3162           13165                          TCF      EJ2                                   #  NEW HIGH PRIORITY.
052067,000438: 01,3163           13164                          NOOP                                           
052068,000439: 01,3164           16710                          TCF      Q+2                                   
052069,000440: 
052070,000441: 01,3165           54131        EJ2               TS       BUF        +1                         
052071,000442: 01,3166           30002                          CA       Q                                     
052072,000443: 01,3167           54130                          TS       BUF                                   #  FOR LOCATING CCS PRIORITY + X INSTR.
052073,000444: 01,3170           16710                          TCF      Q+2                                   
052074,000445: 

Page 1220

052076,000447:                                                                                                 #  IDLING AND COMPUTER ACTIVITY (GREEN) LIGHT MAINTENANCE. THE IDLING ROUTINE IS NOT A JOB IN ITSELF,
052077,000448:                                                                                                 #  BUT RATHER A SUBROUTINE OF THE EXECUTIVE.
052078,000449: 
052079,000450: 01,3171     1361                                 EBANK=   SELFRET                               #  SELF-CHECK STORAGE IN EBANK.
052080,000451: 
052081,000452: 01,3171           44772        DUMMYJOB          CS       ZERO                                  #  SET NEWJOB TO -0 FOR IDLING.
052082,000453: 01,3172           54067                          TS       NEWJOB                                
052083,000454: 01,3173           00003                 +2       RELINT                                         
052084,000455: 01,3174           44767                          CS       TWO                                   #  TURN OFF THE ACTIVITY LIGHT.
052085,000456: 01,3175           00006                          EXTEND                                         
052086,000457: 01,3176           03011                          WAND     DSALMOUT                              
052087,000458: 01,3177           10067        ADVAN             CCS      NEWJOB                                #  IS A NEWJOB ACTIVE ?
052088,000459: 01,3200           13002                          TCF      NUCHANG2                              #  YES... ONE REQUIRING A CHANGE JOB.
052089,000460: 01,3201           34767                 +2       CAF      TWO                                   #  NEW JOB ALREADY IN POSITION FOR
052090,000461: 01,3202           13207                          TCF      NUDIRECT                              #  EXECUTION.
052091,000462: 
052092,000463: 01,3203           31361                          CA       SELFRET                               
052093,000464: 01,3204           54001                          TS       L                                     #  PUT RETURN ADDRESS IN L.
052094,000465: 01,3205           33113                          CAF      SELFBANK                              
052095,000466: 01,3206           15215                          TCF      SUPDXCHZ   +1                         #   AND DISPATCH JOB.
052096,000467: 
052097,000468: 01,3207           00006        NUDIRECT          EXTEND                                         #  TURN THE GREEN LIGHT BACK ON.
052098,000469: 01,3210           05011                          WOR      DSALMOUT                              
052099,000470: 01,3211           52165                          DXCH     LOC                                   #  JOBS STARTED IN THIS FASHION MUST BE
052100,000471: 01,3212           15214                          TCF      SUPDXCHZ                              
052101,000472: 
052102,000473:    4000                                          SETLOC   EXECF2                                
052103,000474:    4000                                          BANK                                           
052104,000475: 
052105,000476:    5214                                          COUNT*   $$/EXEC                               
052106,000477: 
052107,000478:                                                                                                 #  SUPDXCHZ -- ROUTINE TO TRANSFER TO SUPERBANK.
052108,000479:                                                                                                 #  CALLING SEQUENCE:
052109,000480:                                                                                                 #                 TCF     SUPDXCHZ        # WITH 2CADR OF DESIRED LOCATION IN A + L.
052110,000481: 
052111,000482:    5214           56001        SUPDXCHZ          XCH      L                                     #  BASIC.
052112,000483:    5215           00006                 +1       EXTEND                                         
052113,000484:    5216           01007                          WRITE    SUPERBNK                              
052114,000485:    5217           54006                          TS       BBANK                                 
052115,000486:    5220           00001                          TC       L                                     
052116,000487: 
052117,000488:    5221           77677        NEG100            OCT      77677                                 

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