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.

051600,000002:                                                                                                 #  Copyright:     Public domain.
051601,000003:                                                                                                 #  Filename:      EXECUTIVE.agc
051602,000004:                                                                                                 #  Purpose:       Part of the source code for Artemis (i.e., Colossus 3),
051603,000005:                                                                                                 #                 build 072.  This is for the Command Module's (CM)
051604,000006:                                                                                                 #                 Apollo Guidance Computer (AGC), we believe for
051605,000007:                                                                                                 #                 Apollo 15-17.
051606,000008:                                                                                                 #  Assembler:     yaYUL
051607,000009:                                                                                                 #  Contact:       Jim Lawton <jim DOT lawton AT gmail DOT com>
051608,000010:                                                                                                 #  Website:       www.ibiblio.org/apollo/index.html
051609,000011:                                                                                                 #  Page scans:    www.ibiblio.org/apollo/ScansForConversion/Artemis072/
051610,000012:                                                                                                 #  Mod history:   2009-08-29 JL   Adapted from corresponding Comanche 055 file.
051611,000013:                                                                                                 #                 2010-02-10 JL   Fixed error on p1218.
051612,000014:                                                                                                 #                 2010-02-20 RSB  Un-##'d this header.
051613,000015:                                                                                                 #                 2011-05-07 JL   Removed workaround.
051614,000016: 
051615,000017:                                                                                                 # # Page 1208
051616,000018: 
051617,000019:    4000                                          SETLOC   EXECF2                                
051618,000020:    4000                                          BANK                                           
051619,000021: 
051620,000022:                                                                                                 #  TO ENTER A JOB REQUEST REQUIRING NO VAC AREA:
051621,000023: 
051622,000024:    5120                                          COUNT*   $$/EXEC                               
051623,000025:    5120           34346        NOVAC30           CAF      PRIO30                                
051624,000026:    5121           00004        NOVAC             INHINT                                         
051625,000027:    5122           65213                          AD       FAKEPRET                              #  LOC(MPAC +6) - LOC(QPRET)
051626,000028:    5123           54063                          TS       NEWPRIO                               #  PRIORITY OF NEW JOB + NOVAC C(FIXLOC)
051627,000029: 
051628,000030:    5124           00006                          EXTEND                                         
051629,000031:    5125           50002                          INDEX    Q                                     #  Q WILL BE UNDISTURBED THROUGHOUT.
051630,000032:    5126           30001                          DCA      0                                     #  2CADR OF JOB ENTERED.
051631,000033:    5127           52066                          DXCH     NEWLOC                                
051632,000034:    5130           34756                          CAF      EXECBANK                              
051633,000035:    5131           56004                          XCH      FBANK                                 
051634,000036:    5132           54061                          TS       EXECTEM1                              
051635,000037:    5133           12620                          TCF      NOVAC2                                #  ENTER EXECUTIVE BANK.
051636,000038: 
051637,000039:                                                                                                 #  TO ENTER A JOB REQUEST REQUIRING A VAC AREA - E.G., ALL (PARTIALLY) INTERPRETIVE JOBS.
051638,000040: 
051639,000041:    5134           34753        FINVAC20          CAF      PRIO20                                
051640,000042:    5135           00004        FINDVAC           INHINT                                         
051641,000043:    5136           54063                          TS       NEWPRIO                               
051642,000044:    5137           00006                          EXTEND                                         
051643,000045:    5140           50002                          INDEX    Q                                     
051644,000046:    5141           30001                          DCA      0                                     
051645,000047:    5142           52066        SPVACIN           DXCH     NEWLOC                                
051646,000048:    5143           34756                          CAF      EXECBANK                              
051647,000049:    5144           56004                          XCH      FBANK                                 
051648,000050:    5145           12576                          TCF      FINDVAC2                              #  OFF TO EXECUTIVE SWITCHED-BANK.
051649,000051: 
051650,000052:                                                                                                 #  TO ENTER A FINDVAC WITH THE PRIORITY IN NEWPRIO TO THE 2CADR ARRIVING IN A AND L:
051651,000053: 
051652,000054:                                                                                                 #  USERS OF SPVAC MUST INHINT BEFORE STORING IN NEWPRIO.
051653,000055: 
051654,000056:    5146           56002        SPVAC             XCH      Q                                     
051655,000057:    5147           67701                          AD       NEG2                                  
051656,000058:    5150           56002                          XCH      Q                                     
051657,000059:    5151           15142                          TCF      SPVACIN                               
051658,000060: 
051659,000061:                                                                                                 #  TO SUSPEND A BASIC JOB SO A HIGHER PRIORITY JOB MAY BE SERVICED:
051660,000062: 
051661,000063:    5152           22002        CHANG1            LXCH     Q                                     
051662,000064:    5153           34756                          CAF      EXECBANK                              
051663,000065:    5154           56006                          XCH      BBANK                                 
051664,000066:    5155           12677                          TCF      CHANJOB                               
051665,000067: 
051666,000068:                                                                                                 #  TO SUSPEND AN INTERPRETIVE JOB:
051667,000069: 
051668,000070:                                                                                                 # # Page 1209
051669,000071:    5156           40164        CHANG2            CS       LOC                                   #  NEGATIVE LOC SHOWS JOB = INTERPRETIVE.
051670,000072:                                                                                                 #  ITRACE (4) REFERS TO "CHANG2".
051671,000073:    5157           54001                          TS       L                                     
051672,000074:    5160           34756                 +2       CAF      EXECBANK                              
051673,000075:    5161           54006                          TS       BBANK                                 
051674,000076:    5162           12676                          TCF      CHANJOB    -1                         
051675,000077: 
051676,000078:                                                                                                 # # Page 1210
051677,000079:                                                                                                 #  TO VOLUNTARILY SUSPEND A JOB UNTIL THE COMPLETION OF SOME ANTICIPATED EVENT (I/O EVENT ETC.):
051678,000080: 
051679,000081:    5163           54164        JOBSLEEP          TS       LOC                                   
051680,000082:    5164           34756                          CAF      EXECBANK                              
051681,000083:    5165           54004                          TS       FBANK                                 
051682,000084:    5166           12767                          TCF      JOBSLP1                               
051683,000085: 
051684,000086:                                                                                                 #  TO AWAKEN A JOB PUT TO SLEEP IN THE ABOVE FASHION:
051685,000087: 
051686,000088:    5167           00004        JOBWAKE           INHINT                                         
051687,000089:    5170           54065                          TS       NEWLOC                                
051688,000090:    5171           44767                          CS       TWO                                   #  EXIT IS VIA FINDVAC/NOVAC PROCEDURES.
051689,000091:    5172           26002                          ADS      Q                                     
051690,000092:    5173           34756                          CAF      EXECBANK                              
051691,000093:    5174           56004                          XCH      FBANK                                 
051692,000094:    5175           13014                          TCF      JOBWAKE2                              
051693,000095: 
051694,000096:                                                                                                 #  TO CHANGE THE PRIORITY OF A JOB CURRENTLY UNDER EXECUTION:
051695,000097: 
051696,000098:    5176           00004        PRIOCHNG          INHINT                                         #  NEW PRIORITY ARRIVES IN A. RETURNS TO
051697,000099:    5177           54063                          TS       NEWPRIO                               #  CALLER AS SOON AS NEW JOB PRIORITY IS
051698,000100:    5200           34756                          CAF      EXECBANK                              #  HIGHEST. PREPARE FOR POSSIBLE BASIC-
051699,000101:    5201           56006                          XCH      BBANK                                 #  STYLE CHANGE-JOB.
051700,000102:    5202           54165                          TS       BANKSET                               
051701,000103:    5203           30002                          CA       Q                                     
051702,000104:    5204           13063                          TCF      PRIOCH2                               
051703,000105: 
051704,000106:                                                                                                 #  TO REMOVE A JOB FROM EXECUTIVE CONSIDERATIONS:
051705,000107: 
051706,000108:    5205           34756        ENDOFJOB          CAF      EXECBANK                              
051707,000109:    5206           54004                          TS       FBANK                                 
051708,000110:    5207           13074                          TCF      ENDJOB1                               
051709,000111: 
051710,000112:    5210           30061        ENDFIND           CA       EXECTEM1                              #  RETURN TO CALLER AFTER JOB ENTRY
051711,000113:    5211           54004                          TS       FBANK                                 #  COMPLETE.
051712,000114:    5212           16710                          TCF      Q+2                                   
051713,000115:    5213     4756               EXECBANK          EQUALS   BIT11                                 #  THIS IS TRUE IF FINDVAC2 STAYS IN BANK 01
051714,000116: 
051715,000117:    5213           00110        FAKEPRET          ADRES    MPAC       -36D                       #  LOC(MPAC +6) - LOC(QPRET)
051716,000118: 
051717,000119:                                                                                                 # # Page 1211
051718,000120:                                                                                                 #  LOCATE AN AVAILABLE VAC AREA.
051719,000121: 
051720,000122: 01,2000                                          SETLOC   EXECB1                                
051721,000123: 01,2000                                          BANK                                           
051722,000124: 
051723,000125: 01,2576                                          COUNT*   $$/EXEC                               
051724,000126:                                                                                                 #       ********  IF THE  EXECUTIVE IS 
051725,000127:                                                                                                 #                 MOVED   OUT OF BANK 01
051726,000128:                                                                                                 #                 DONT    FORGET TO CHANGE
051727,000129:                                                                                                 #                 THE     VALUE OF
051728,000130:                                                                                                 #                 ******  EXECBANK ****
051729,000131: 01,2576           54061        FINDVAC2          TS       EXECTEM1                              #  (SAVE CALLER'S BANK FIRST.)
051730,000132: 01,2577           10400                          CCS      VAC1USE                               
051731,000133: 01,2600           12613                          TCF      VACFOUND                              
051732,000134: 01,2601           10454                          CCS      VAC2USE                               
051733,000135: 01,2602           12613                          TCF      VACFOUND                              
051734,000136: 01,2603           10530                          CCS      VAC3USE                               
051735,000137: 01,2604           12613                          TCF      VACFOUND                              
051736,000138: 01,2605           10604                          CCS      VAC4USE                               
051737,000139: 01,2606           12613                          TCF      VACFOUND                              
051738,000140: 01,2607           10660                          CCS      VAC5USE                               
051739,000141: 01,2610           12613                          TCF      VACFOUND                              
051740,000142: 01,2611           07706                          TC       BAILOUT                               
051741,000143: 01,2612           31201                          OCT      31201                                 #  NO VAC AREAS
051742,000144: 
051743,000145: 01,2613           64767        VACFOUND          AD       TWO                                   #  RESERVE THIS VAC AREA BY STORING A ZERO
051744,000146: 01,2614           22007                          ZL                                             #  IN ITS VAC USE REGISTER AND STORE THE
051745,000147: 01,2615           50000                          INDEX    A                                     #  ADDRESS OF THE FIRST WORD OF IT IN THE
051746,000148: 01,2616           21777                          LXCH     0          -1                         #  LOW NINE BITS OF THE PRIORITY WORD.
051747,000149: 01,2617           26063                          ADS      NEWPRIO                               
051748,000150: 
051749,000151: 01,2620           34772        NOVAC2            CAF      ZERO                                  #  NOVAC ENTERS HERE. FIND A CORE SET.
051750,000152: 01,2621           54064                          TS       LOCCTR                                
051751,000153: 01,2622           32627                          CAF      NO.CORES                              #  SEVEN SETS OF ELEVEN REGISTERS EACH.
051752,000154: 01,2623           54062        NOVAC3            TS       EXECTEM2                              
051753,000155: 01,2624           50064                          INDEX    LOCCTR                                
051754,000156: 01,2625           10167                          CCS      PRIORITY                              #  EACH PRIORITY REGISTER CONTAINS -0 IF
051755,000157: 01,2626           12667                          TCF      NEXTCORE                              #  THE CORESPONDING CORE SET IS AVAILABLE.
051756,000158: 01,2627           00006        NO.CORES          DEC      6          B-14                       
051757,000159: 01,2630           12667                          TCF      NEXTCORE                              #  AN ACTIVE JOB HAS A POSITIVE PRIORITY
051758,000160:                                                                                                 #  BUT A DORMANT JOB'S PRIORITY IS NEGATIVE
051759,000161: 
051760,000162:                                                                                                 # # Page 1212
051761,000163: 01,2631           30063        CORFOUND          CA       NEWPRIO                               #  SET THE PRIORITY OF THIS JOB IN THE CORE
051762,000164: 01,2632           50064                          INDEX    LOCCTR                                #  SET'S PRIORITY REGISTER AND SET THE
051763,000165: 01,2633           54167                          TS       PRIORITY                              #  JOB'S PUSH-DOWN POINTER AT THE BEGINNING
051764,000166: 01,2634           75021                          MASK     LOW9                                  #  OF THE WORK AREA AND OVERFLOW INDICATOR
051765,000167: 01,2635           50064                          INDEX    LOCCTR                                
051766,000168: 01,2636           54166                          TS       PUSHLOC                               #  OFF TO PREPARE FOR INTERPRETIVE PROGRAMS
051767,000169: 
051768,000170: 01,2637           10064                          CCS      LOCCTR                                #  IF CORE SET ZERO IS BEING LOADED, SET UP
051769,000171: 01,2640           12654                          TCF      SETLOC                                #  OVFIND AND FIXLOC IMMEDIATELY.
051770,000172: 01,2641           54121                          TS       OVFIND                                
051771,000173: 01,2642           30166                          CA       PUSHLOC                               
051772,000174: 01,2643           54120                          TS       FIXLOC                                
051773,000175: 
051774,000176: 01,2644           10067        SPECTEST          CCS      NEWJOB                                #  SEE IF ANY ACTIVE JOBS WAITING (RARE).
051775,000177: 01,2645           12654                          TCF      SETLOC                                #  MUST BE AWAKENED OUT UNCHANGED JOB.
051776,000178: 01,2646           12647                          NOOP                                           #  CANNOT GET HERE
051777,000179: 01,2647           12650                          NOOP                                           #  CANNOT GET HERE
051778,000180: 01,2650           54067                          TS       NEWJOB                                #  +0 SHOWS ACTIVE JOB ALREADY SET.
051779,000181: 01,2651           52066                          DXCH     NEWLOC                                
051780,000182: 01,2652           52165                          DXCH     LOC                                   
051781,000183: 01,2653           15210                          TCF      ENDFIND                               
051782,000184: 
051783,000185: 01,2654           52066        SETLOC            DXCH     NEWLOC                                #  SET UP THE LOCATION REGISTERS FOR THIS
051784,000186: 01,2655           50064                          INDEX    LOCCTR                                
051785,000187: 01,2656           52165                          DXCH     LOC                                   
051786,000188: 01,2657           50067                          INDEX    NEWJOB                                #  THIS INDEX INSTRUCTION INSURES THAT THE
051787,000189: 01,2660           40167                          CS       PRIORITY                              #  HIGHEST ACTIVE PRIORITY WILL BE COMPARED
051788,000190: 01,2661           60063                          AD       NEWPRIO                               #  WITH THE NEW PRIORITY TO SEE IF NEWJOB
051789,000191: 01,2662           00006                          EXTEND                                         #  SHOULD BE SET TO SIGNAL A SWITCH.
051790,000192: 01,2663           65210                          BZMF     ENDFIND                               
051791,000193: 01,2664           30064                          CA       LOCCTR                                #  LOCCTR IS LEFT SET AT THIS CORE SET IF
051792,000194: 01,2665           54067                          TS       NEWJOB                                #  THE CALLER WANTS TO LOAD ANY MPAC
051793,000195: 01,2666           15210                          TCF      ENDFIND                               #  REGISTERS, ETC.
051794,000196: 
051795,000197: 01,2667           33024        NEXTCORE          CAF      COREINC                               
051796,000198: 01,2670           26064                          ADS      LOCCTR                                
051797,000199: 01,2671           10062                          CCS      EXECTEM2                              
051798,000200: 01,2672           12623                          TCF      NOVAC3                                
051799,000201: 01,2673           07706                          TC       BAILOUT                               #  NO CORE SETS.
051800,000202: 01,2674           31202                          OCT      31202                                 
051801,000203: 
051802,000204:                                                                                                 # # Page 1213
051803,000205:                                                                                                 #  THE FOLLOWING ROUTINE SWAPS CORE SET 0 WITH THAT WHOSE RELATIVE ADDRESS IS IN NEWJOB.
051804,000206: 
051805,000207: 01,2675           22164                 -2       LXCH     LOC                                   
051806,000208: 01,2676           30165                 -1       CAE      BANKSET                               #  BANKSET, NOT BBANK, HAS RIGHT CONTENTS.
051807,000209: 01,2677           00004        CHANJOB           INHINT                                         
051808,000210: 01,2700           00006                          EXTEND                                         
051809,000211: 01,2701           04007                          ROR      SUPERBNK                              #  PICK UP CURRENT SBANK FOR BBCON
051810,000212: 01,2702           56001                          XCH      L                                     #  LOC IN A AND BBCON IN L.
051811,000213: 01,2703           50067                 +4       INDEX    NEWJOB                                #  SWAP LOC AND BANKSET.
051812,000214: 01,2704           52165                          DXCH     LOC                                   
051813,000215: 01,2705           52165                          DXCH     LOC                                   
051814,000216: 
051815,000217: 01,2706           30165                          CAE      BANKSET                               
051816,000218: 01,2707           00006                          EXTEND                                         
051817,000219: 01,2710           01007                          WRITE    SUPERBNK                              #  SET SBANK FOR NEW JOB.
051818,000220: 01,2711           52155                          DXCH     MPAC                                  #  SWAP MULTI-PURPOSE ACCUMULATOR AREAS.
051819,000221: 01,2712           50067                          INDEX    NEWJOB                                
051820,000222: 01,2713           52155                          DXCH     MPAC                                  
051821,000223: 01,2714           52155                          DXCH     MPAC                                  
051822,000224: 01,2715           52157                          DXCH     MPAC       +2                         
051823,000225: 01,2716           50067                          INDEX    NEWJOB                                
051824,000226: 01,2717           52157                          DXCH     MPAC       +2                         
051825,000227: 01,2720           52157                          DXCH     MPAC       +2                         
051826,000228: 01,2721           52161                          DXCH     MPAC       +4                         
051827,000229: 01,2722           50067                          INDEX    NEWJOB                                
051828,000230: 01,2723           52161                          DXCH     MPAC       +4                         
051829,000231: 01,2724           52161                          DXCH     MPAC       +4                         
051830,000232: 01,2725           52163                          DXCH     MPAC       +6                         
051831,000233: 01,2726           50067                          INDEX    NEWJOB                                
051832,000234: 01,2727           52163                          DXCH     MPAC       +6                         
051833,000235: 01,2730           52163                          DXCH     MPAC       +6                         
051834,000236: 
051835,000237: 01,2731           34772                          CAF      ZERO                                  
051836,000238: 01,2732           56121                          XCH      OVFIND                                #  MAKE PUSHLOC NEGATIVE IF OVFIND NZ.
051837,000239: 01,2733           00006                          EXTEND                                         
051838,000240: 01,2734           12737                          BZF      +3                                    
051839,000241: 01,2735           40166                          CS       PUSHLOC                               
051840,000242: 01,2736           54166                          TS       PUSHLOC                               
051841,000243: 
051842,000244: 01,2737           52167                          DXCH     PUSHLOC                               
051843,000245: 01,2740           50067                          INDEX    NEWJOB                                
051844,000246: 01,2741           52167                          DXCH     PUSHLOC                               
051845,000247: 01,2742           52167                          DXCH     PUSHLOC                               #  SWAPS PUSHLOC AND PRIORITY.
051846,000248: 01,2743           35021                          CAF      LOW9                                  #  SET FIXLOC TO BASE OF VAC AREA.
051847,000249: 01,2744           70167                          MASK     PRIORITY                              
051848,000250: 01,2745           54120                          TS       FIXLOC                                
051849,000251: 
051850,000252: 01,2746           10166                          CCS      PUSHLOC                               #  SET OVERFLOW INDICATOR ACCORDING TO
051851,000253: 01,2747           34772                          CAF      ZERO                                  
051852,000254: 01,2750           12755                          TCF      ENDPRCHG   -1                         
051853,000255:                                                                                                 # # Page 1214
051854,000256: 01,2751           40166                          CS       PUSHLOC                               
051855,000257: 01,2752           54166                          TS       PUSHLOC                               
051856,000258: 01,2753           34770                          CAF      ONE                                   
051857,000259: 01,2754           56121                          XCH      OVFIND                                
051858,000260: 01,2755           54067                 -1       TS       NEWJOB                                
051859,000261: 01,2756           00003        ENDPRCHG          RELINT                                         
051860,000262: 01,2757           52165                          DXCH     LOC                                   #  BASIC JOBS HAVE POSITIVE ADDRESSES, SO
051861,000263: 01,2760           00006                          EXTEND                                         #  DISPATCH WITH A DTCB.
051862,000264: 01,2761           62763                          BZMF     +2                                    #  IF INTERPRETIVE, SET UP EBANK, ETC.
051863,000265: 01,2762           52006                          DTCB                                           
051864,000266: 
051865,000267:                                                                                                 # # Page 1215
051866,000268: 
051867,000269: 01,2763           40000                          COM                                            #  EPILOGUE TO JOB CHANGE FOR INTERPRETIVE
051868,000270: 01,2764           64770                          AD       ONE                                   
051869,000271: 01,2765           54164                          TS       LOC                                   #  RESUME
051870,000272: 01,2766           16017                          TCF      INTRSM                                
051871,000273: 
051872,000274:                                                                                                 #  COMPLETE JOBSLEEP PREPARATIONS.
051873,000275: 
051874,000276: 01,2767           00004        JOBSLP1           INHINT                                         
051875,000277: 01,2770           40167                          CS       PRIORITY                              #  NNZ PRIORITY SHOWS JOB ASLEEP.
051876,000278: 01,2771           54167                          TS       PRIORITY                              
051877,000279: 01,2772           36043                          CAF      LOW7                                  
051878,000280: 01,2773           70006                          MASK     BBANK                                 
051879,000281: 01,2774           00006                          EXTEND                                         
051880,000282: 01,2775           04007                          ROR      SUPERBNK                              #  SAVE OLD SUPERBANK VALUE.
051881,000283: 01,2776           54165                          TS       BANKSET                               
051882,000284: 01,2777           44772                          CS       ZERO                                  
051883,000285: 01,3000           54131        JOBSLP2           TS       BUF        +1                         #  HOLDS - HIGHEST PRIORITY.
051884,000286: 01,3001           13111                          TCF      EJSCAN                                #  SCAN FOR HIGHEST PRIORITY ALA ENDOFJOB.
051885,000287: 
051886,000288: 01,3002           00004        NUCHANG2          INHINT                                         #  QUICK... DONT LET NEWJOB CHANGE TO +0.
051887,000289: 01,3003           10067                          CCS      NEWJOB                                
051888,000290: 01,3004           13007                          TCF      +3                                    #  NEWJOB STILL PNZ
051889,000291: 01,3005           00003                          RELINT                                         #  NEW JOB HAS CHANGED TO +0. WAKE UP JOB
051890,000292: 01,3006           13201                          TCF      ADVAN      +2                         #  VIA NUDIRECT. (VERY RARE CASE.)
051891,000293: 
051892,000294: 01,3007           34767                          CAF      TWO                                   
051893,000295: 01,3010           00006                          EXTEND                                         
051894,000296: 01,3011           05011                          WOR      DSALMOUT                              #  TURN ON ACTIVITY LIGHT
051895,000297: 01,3012           52165                          DXCH     LOC                                   #  AND SAVE ADDRESS INFO FOR BENEFIT OF
051896,000298: 01,3013           12703                          TCF      CHANJOB    +4                         #   POSSIBLE SLEEPING JOB.
051897,000299: 
051898,000300:                                                                                                 # # Page 1216
051899,000301:                                                                                                 #  TO WAKE UP A JOB, EACH CORE SET IS FOUND TO LOCATE ALL JOBS WHICH ARE ASLEEP. IF THE FCADR IN THE
051900,000302:                                                                                                 #  LOC REGISTER OF ANY SUCH JOB MATCHES THAT SUPPLIED BY THE CALLER, THAT JOB IS AWAKENED. IF NO JOB IS FOUND,
051901,000303:                                                                                                 #  LOCCTR IS SET TO -1 AND NO FURTHER ACTION TAKES PLACE.
051902,000304: 
051903,000305: 01,3014           54061        JOBWAKE2          TS       EXECTEM1                              
051904,000306: 01,3015           34772                          CAF      ZERO                                  #  BEGIN CORE SET SCAN.
051905,000307: 01,3016           54064                          TS       LOCCTR                                
051906,000308: 01,3017           32627                          CAF      NO.CORES                              
051907,000309: 01,3020           54062        JOBWAKE4          TS       EXECTEM2                              
051908,000310: 01,3021           50064                          INDEX    LOCCTR                                
051909,000311: 01,3022           10167                          CCS      PRIORITY                              
051910,000312: 01,3023           13026                          TCF      JOBWAKE3                              #  ACTIVE JOB - CHECK NEXT CORE SET.
051911,000313: 01,3024           00014        COREINC           DEC      12         B-14                       #  12 REGISTERS PER CORE SET.
051912,000314: 01,3025           13035                          TCF      WAKETEST                              #  SLEEPING JOB - SEE IF CADR MATCHES.
051913,000315: 
051914,000316: 01,3026           33024        JOBWAKE3          CAF      COREINC                               
051915,000317: 01,3027           26064                          ADS      LOCCTR                                
051916,000318: 01,3030           10062                          CCS      EXECTEM2                              
051917,000319: 01,3031           13020                          TCF      JOBWAKE4                              
051918,000320: 01,3032           44770                          CS       ONE                                   #  EXIT IF SLEEPING JOB NOT FOUND.
051919,000321: 01,3033           54064                          TS       LOCCTR                                
051920,000322: 01,3034           15210                          TCF      ENDFIND                               
051921,000323: 
051922,000324: 01,3035           40065        WAKETEST          CS       NEWLOC                                
051923,000325: 01,3036           50064                          INDEX    LOCCTR                                
051924,000326: 01,3037           60164                          AD       LOC                                   
051925,000327: 01,3040           00006                          EXTEND                                         
051926,000328: 01,3041           13043                          BZF      +2                                    #  IF MATCH.
051927,000329: 01,3042           13026                          TCF      JOBWAKE3                              #  EXAMINE NEXT CORE SET IF NO MATCH.
051928,000330: 
051929,000331: 01,3043           50064                          INDEX    LOCCTR                                #  RE-COMPLEMENT PRIORITY TO SHOW JOB AWAKE
051930,000332: 01,3044           40167                          CS       PRIORITY                              
051931,000333: 01,3045           54063                          TS       NEWPRIO                               
051932,000334: 01,3046           50064                          INDEX    LOCCTR                                
051933,000335: 01,3047           54167                          TS       PRIORITY                              
051934,000336: 
051935,000337: 01,3050           44344                          CS       FBANKMSK                              #  MASK UP THE 2CADR OF THE WAKE ADDRESS
051936,000338: 01,3051           70065                          MASK     NEWLOC                                #  USING THE CADR IN NEWLOC AND THE EBANK
051937,000339: 01,3052           64756                          AD       2K                                    #  HALF OF BBANK SAVED IN BANKSET.
051938,000340: 01,3053           56065                          XCH      NEWLOC                                
051939,000341: 01,3054           74344                          MASK     FBANKMSK                              
051940,000342: 01,3055           50064                          INDEX    LOCCTR                                
051941,000343: 01,3056           60165                          AD       BANKSET                               
051942,000344: 01,3057           54066                          TS       NEWLOC     +1                         
051943,000345: 
051944,000346: 01,3060           10064                          CCS      LOCCTR                                #  SPECIAL TREATMENT IF THIS JOB WAS
051945,000347: 01,3061           12654                          TCF      SETLOC                                #  ALREADY IN THE RUN (0) POSITION.
051946,000348: 01,3062           12644                          TCF      SPECTEST                              
051947,000349: 
051948,000350:                                                                                                 # # Page 1217
051949,000351:                                                                                                 #  PRIORITY CHANGE. CHANGE THE CONTENTS OF PRIORITY AND SCAN FOR THE JOB OF HIGHEST PRIORITY.
051950,000352: 
051951,000353: 01,3063           54164        PRIOCH2           TS       LOC                                   
051952,000354: 01,3064           34772                          CAF      ZERO                                  #  SET FLAG TO TELL ENDJOB SCANNER IF THIS
051953,000355: 01,3065           54130                          TS       BUF                                   #  JOB IS STILL HIGHEST PRIORITY.
051954,000356: 01,3066           35021                          CAF      LOW9                                  
051955,000357: 01,3067           70167                          MASK     PRIORITY                              
051956,000358: 01,3070           60063                          AD       NEWPRIO                               
051957,000359: 01,3071           54167                          TS       PRIORITY                              
051958,000360: 01,3072           40000                          COM                                            
051959,000361: 01,3073           13000                          TCF      JOBSLP2                               #  AND TO EJSCAN.
051960,000362: 
051961,000363:                                                                                                 # # Page 1218
051962,000364:                                                                                                 #  RELEASE THIS CORE SET AND VAC AREA AND SCAN FOR THE JOB OF HIGHEST ACTIVE PRIORITY.
051963,000365: 
051964,000366: 01,3074           00004        ENDJOB1           INHINT                                         
051965,000367: 01,3075           44772                          CS       ZERO                                  
051966,000368: 01,3076           54131                          TS       BUF        +1                         
051967,000369: 01,3077           56167                          XCH      PRIORITY                              
051968,000370: 01,3100           75021                          MASK     LOW9                                  
051969,000371: 01,3101           54001                          TS       L                                     
051970,000372: 
051971,000373: 01,3102           45213                          CS       FAKEPRET                              
051972,000374: 01,3103           60001                          AD       L                                     
051973,000375: 
051974,000376: 01,3104           00006                          EXTEND                                         
051975,000377: 01,3105           63111                          BZMF     EJSCAN                                #  NOVAC ENDOFJOB
051976,000378: 
051977,000379: 01,3106           10001                          CCS      L                                     
051978,000380: 01,3107           50000                          INDEX    A                                     
051979,000381: 01,3110           54000                          TS       0                                     
051980,000382: 
051981,000383: 01,3111           10203        EJSCAN            CCS      PRIORITY   +12D                       
051982,000384: 01,3112           03156                          TC       EJ1                                   
051983,000385: 01,3113     1361                                 EBANK=   SELFRET                               
051984,000386: 01,3113           66102        SELFBANK          BBCON    SELFCHK                               #  CANNOT GET HERE
051985,000387: 01,3114           13115                          TCF      +1                                    
051986,000388: 
051987,000389: 01,3115           10217                          CCS      PRIORITY   +24D                       #  EXAMINE EACH PRIORITY REGISTER TO FIND
051988,000390: 01,3116           03156                          TC       EJ1                                   #  THE JOB OF HIGHEST ACTIVE PRIORITY.
051989,000391: 01,3117           40201        OCT40201          OCT      40201                                 #  CANNOT GET HERE
051990,000392: 01,3120           13121                          TCF      +1                                    
051991,000393: 
051992,000394: 01,3121           10233                          CCS      PRIORITY   +36D                       
051993,000395: 01,3122           03156                          TC       EJ1                                   
051994,000396: 01,3123           67610        -CCSPR            -CCS     PRIORITY                              
051995,000397: 01,3124           13125                          TCF      +1                                    
051996,000398: 
051997,000399: 01,3125           10247                          CCS      PRIORITY   +48D                       
051998,000400: 01,3126           03156                          TC       EJ1                                   
051999,000401: 01,3127           03724        PHS2CADR          GENADR   PHSPART2                              #  CANNOT GET HERE
052000,000402: 01,3130           13131                          TCF      +1                                    
052001,000403: 
052002,000404: 01,3131           10263                          CCS      PRIORITY   +60D                       
052003,000405: 01,3132           03156                          TC       EJ1                                   
052004,000406: 01,3133           03502        PRT2CADR          GENADR   GETPART2                              #  CANNOT GET HERE
052005,000407: 01,3134           13135                          TCF      +1                                    
052006,000408: 
052007,000409: 01,3135           10277                          CCS      PRIORITY   +72D                       
052008,000410: 01,3136           03156                          TC       EJ1                                   
052009,000411: 01,3137           05332        LGCLCADR          GENADR   LONGCALL                              #  CANNOT GET HERE
052010,000412: 01,3140           13141                          TCF      +1                                    
052011,000413: 
052012,000414:                                                                                                 # # Page 1219
052013,000415:                                                                                                 #  EVALUATE THE RESULTS OF THE SCAN.
052014,000416: 
052015,000417: 01,3141           10131                          CCS      BUF        +1                         #  SEE IF THERE ARE ANY ACTIVE JOBS WAITING
052016,000418: 
052017,000419: 01,3142           53301        GETCADR           DXCH     LONGCADR                              #  CANNOT GET HERE
052018,000420: 01,3143           05214                          TC       SUPDXCHZ                              
052019,000421: 01,3144           13146                          TCF      +2                                    
052020,000422: 01,3145           13171                          TCF      DUMMYJOB                              
052021,000423: 01,3146           10130                          CCS      BUF                                   #  BUF IS ZERO IF THIS IS A PRIOCHNG AND
052022,000424: 01,3147           13151                          TCF      +2                                    #  CHANGED PRIORITY IS STILL HIGHEST.
052023,000425: 01,3150           12755                          TCF      ENDPRCHG   -1                         
052024,000426: 
052025,000427: 01,3151           50000                          INDEX    A                                     #  OTHERWISE, SET NEWJOB TO THE RELATIVE
052026,000428: 01,3152           27777                          CAF      0          -1                         #  ADDRESS OF THE NEW JOB'S CORE SET.
052027,000429: 01,3153           63123                          AD       -CCSPR                                
052028,000430: 01,3154           54067                          TS       NEWJOB                                
052029,000431: 01,3155           12675                          TCF      CHANJOB    -2                         
052030,000432: 
052031,000433: 01,3156           54132        EJ1               TS       BUF        +2                         
052032,000434: 01,3157           60131                          AD       BUF        +1                         #  - OLD HIGH PRIORITY.
052033,000435: 01,3160           10000                          CCS      A                                     
052034,000436: 01,3161           40132                          CS       BUF        +2                         
052035,000437: 01,3162           13165                          TCF      EJ2                                   #  NEW HIGH PRIORITY.
052036,000438: 01,3163           13164                          NOOP                                           
052037,000439: 01,3164           16710                          TCF      Q+2                                   
052038,000440: 
052039,000441: 01,3165           54131        EJ2               TS       BUF        +1                         
052040,000442: 01,3166           30002                          CA       Q                                     
052041,000443: 01,3167           54130                          TS       BUF                                   #  FOR LOCATING CCS PRIORITY + X INSTR.
052042,000444: 01,3170           16710                          TCF      Q+2                                   
052043,000445: 
052044,000446:                                                                                                 # # Page 1220
052045,000447:                                                                                                 #  IDLING AND COMPUTER ACTIVITY (GREEN) LIGHT MAINTENANCE. THE IDLING ROUTINE IS NOT A JOB IN ITSELF,
052046,000448:                                                                                                 #  BUT RATHER A SUBROUTINE OF THE EXECUTIVE.
052047,000449: 
052048,000450: 01,3171     1361                                 EBANK=   SELFRET                               #  SELF-CHECK STORAGE IN EBANK.
052049,000451: 
052050,000452: 01,3171           44772        DUMMYJOB          CS       ZERO                                  #  SET NEWJOB TO -0 FOR IDLING.
052051,000453: 01,3172           54067                          TS       NEWJOB                                
052052,000454: 01,3173           00003                 +2       RELINT                                         
052053,000455: 01,3174           44767                          CS       TWO                                   #  TURN OFF THE ACTIVITY LIGHT.
052054,000456: 01,3175           00006                          EXTEND                                         
052055,000457: 01,3176           03011                          WAND     DSALMOUT                              
052056,000458: 01,3177           10067        ADVAN             CCS      NEWJOB                                #  IS A NEWJOB ACTIVE ?
052057,000459: 01,3200           13002                          TCF      NUCHANG2                              #  YES... ONE REQUIRING A CHANGE JOB.
052058,000460: 01,3201           34767                 +2       CAF      TWO                                   #  NEW JOB ALREADY IN POSITION FOR
052059,000461: 01,3202           13207                          TCF      NUDIRECT                              #  EXECUTION.
052060,000462: 
052061,000463: 01,3203           31361                          CA       SELFRET                               
052062,000464: 01,3204           54001                          TS       L                                     #  PUT RETURN ADDRESS IN L.
052063,000465: 01,3205           33113                          CAF      SELFBANK                              
052064,000466: 01,3206           15215                          TCF      SUPDXCHZ   +1                         #   AND DISPATCH JOB.
052065,000467: 
052066,000468: 01,3207           00006        NUDIRECT          EXTEND                                         #  TURN THE GREEN LIGHT BACK ON.
052067,000469: 01,3210           05011                          WOR      DSALMOUT                              
052068,000470: 01,3211           52165                          DXCH     LOC                                   #  JOBS STARTED IN THIS FASHION MUST BE
052069,000471: 01,3212           15214                          TCF      SUPDXCHZ                              
052070,000472: 
052071,000473:    4000                                          SETLOC   EXECF2                                
052072,000474:    4000                                          BANK                                           
052073,000475: 
052074,000476:    5214                                          COUNT*   $$/EXEC                               
052075,000477: 
052076,000478:                                                                                                 #  SUPDXCHZ -- ROUTINE TO TRANSFER TO SUPERBANK.
052077,000479:                                                                                                 #  CALLING SEQUENCE:
052078,000480:                                                                                                 #                 TCF     SUPDXCHZ        # WITH 2CADR OF DESIRED LOCATION IN A + L.
052079,000481: 
052080,000482:    5214           56001        SUPDXCHZ          XCH      L                                     #  BASIC.
052081,000483:    5215           00006                 +1       EXTEND                                         
052082,000484:    5216           01007                          WRITE    SUPERBNK                              
052083,000485:    5217           54006                          TS       BBANK                                 
052084,000486:    5220           00001                          TC       L                                     
052085,000487: 
052086,000488:    5221           77677        NEG100            OCT      77677                                 

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