forked from virtualagc/virtualagc
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathWAITLIST.agc
563 lines (486 loc) · 14.6 KB
/
WAITLIST.agc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
### FILE="Main.annotation"
## Copyright: Public domain.
## Filename: WAITLIST.agc
## Purpose: Part of the source code for Colossus, build 249.
## It is part of the source code for the Command Module's (CM)
## Apollo Guidance Computer (AGC), for Apollo 9.
## Assembler: yaYUL
## Reference: Begins on p. 1191
## Contact: Ron Burkey <[email protected]>.
## Website: www.ibiblio.org/apollo/index.html
## Mod history: 08/28/04 RSB Began adapting from similar Luminary131 file.
## 05/14/05 RSB Corrected website reference above.
## 2010-10-24 JL Indentation fixes.
## 2011-05-07 JL Remove workarounds.
## 2017-01-06 RSB Page numbers now agree with those on the
## original harcopy, as opposed to the PDF page
## numbers in 1701.pdf.
## 2017-01-20 RSB Cross-diff'd comment text (not whitespace)
## vs the already-proofed corresponding Colossus
## 237 and Comanche 55 source-code files
## and corrected errors found.
## 2017-02-09 RSB Comment-text fixes identified in proofing Artemis 72
## 2017-03-16 RSB Comment-text fixes identified in 5-way
## side-by-side diff of Luminary 69/99/116/131/210.
## The contents of the "Colossus249" files, in general, are transcribed
## from a scanned copy of the program listing. Notations on this
## document read, in part:
##
## Assemble revision 249 of AGC program Colossus by NASA
## 2021111-041. October 28, 1968.
##
## This AGC program shall also be referred to as
## Colossus 1A
##
## Prepared by
## Massachusetts Institute of Technology
## 75 Cambridge Parkway
## Cambridge, Massachusetts
## under NASA contract NAS 9-4065.
##
## Refer directly to the online document mentioned above for further information.
## Please report any errors (relative to the scanned pages) to [email protected].
##
## In some cases, where the source code for Luminary 131 overlaps that of
## Colossus 249, this code is instead copied from the corresponding Luminary 131
## source file, and then is proofed to incorporate any changes.
## Page 1191
# PROGRAM DESCRIPTION DATE - 10 OCTOBER 1966
# MOD NO - 2 LOG SECTION - WAITLIST
# MOD BY - MILLER (DTMAX INCREASED TO 162.5 SEC) ASSEMBLY SUNBURST REV 5
# MOD 3 BY KERNAN (INHINT INSERTED AT WAITLIST) 2/28/68 SKIPPER REV 4
# MOD 4 BY KERNAN (TWIDDLE IN 54) 3/28/68 SKIPPER REV 13.
#
# FUNCTIONAL DESCRIPTION -
# PART OF A SECTION OF PROGRAMS,- WAITLIST, TASKOVER, T3RUPT, USED TO CALL A PROGRAM, (CALLED A TASK),
# WHICH IS TO BEGIN IN C(A) CENTISECONDS. WAITLIST UPDATES TIME3, LST1 AND LST2. THE MEANING OF THESE LISTS
# FOLLOW.
#
# C(TIME3) = 16384 -(T1-T) CENTISECONDS, (T=PRESENT TIME, T1-TIME FOR TASK1)
#
# C(LST1) = -(T2-T1)+1
# C(LST1 +1) = -(T3-T2)+1
# C(LST1 +2) = -(T4-T3)+1
# .
# .
# C(LST1 +6) = -(T8-T7)+1
# C(LST1 +7) = -(T9-T8)+1
#
# C(LST2) = 2CADR OF TASK1
# C(LST2 +2) = 2CADR OF TASK2
# .
# .
# C(LST2 +14) = 2CADR OF TASK8
# C(LST2 +16) = 2CADR OF TASK9
#
# WARNINGS-
# --------
# 1) 1 <= C(A) <= 16250D (1 CENTISECOND TO 162.5 SEC)
# 2) 9 TASKS MAXIMUM
# 3) TASKS CALLED UNDER INTERRUPT INHIBITED
# 4) TASKS END BY TC TASKOVER
#
# CALLING SEQUENCE -
# L-1 CA DELTAT (TIME IN CENTISECONDS TO TASK START)
# L TC WAITLIST
# L+1 2CADR DESIRED TASK
# L+2 (MINOR OF 2CADR)
# L+3 RELINT (RETURNS HERE)
#
# TWIDDLE-
# -------
# TWIDDLE IS FOR USE WHEN THE TASK BEING SET UP IS IN THE SAME EBANK AND FBANK AS THE USER. IN
# SUCH CASES, IT IMPROVES UPON WAITLIST BY ELIMINATING THE NEED FOR THE BBCON HALF OF THE 2CADR,
## Page 1192
# SAVING A WORD. TWIDDLE IS LIKE WAITLIST IN EVERY RESPECT EXCEPT CALLING SEQUENCE, TO WIT-
# L-1 CA DELTAT
# L TC TWIDDLE
# L+1 ADRES DESIRED TASK
# L+2 RELINT (RETURNS HERE)
#
# NORMAL EXIT MODES -
# AT L+3 OF CALLING SEQUENCE
#
# ALARM OR ABORT EXIT MODES -
# TC ABORT
# OCT 1203 (WAITLIST OVERFLOW - TOO MANY TASKS)
#
# ERASABLE INITIALIZATION REQUIRED -
# ACCOMPLISHED BY FRESH START,-- LST2, ..., LST2 +16 = ENDTASK
# LST1, ..., LST1 +7 = NEG1/2
#
# OUTPUT --
# LST1 AND LST2 UPDATED WITH NEW TASK AND ASSOCIATED TIME.
#
# DEBRIS -
# CENTRALS - A,Q,L
# OTHER - WAITEXIT, WAITADR, WAITTEMP, WAITBANK
#
# DETAILED ANALYSIS OF TIMING -
# CONTROL WILL NOT BE RETURNED TO THE SPECIFIED ADDRESS (2CADR) IN EXACTLY DELTA T CENTISECONDS.
# THE APPROXIMATE TIME MAY BE CALCULATED AS FOLLOWS
# LET TO = THE TIME OF THE TC WAITLIST
# LET TS = TO +147U + COUNTER INCREMENTS (SET UP TIME)
# LET X = TS -(100TS)/100 (VARIANCE FROM COUNTERS)
# LET Y = LENGTH OF TIME OF INHIBIT INTERRUPT AFTER T3RUPT
# LET Z = LENGTH OF TIME TO PROCESS TASKS WHICH ARE DUE THIS T3RUPT BUT DISPATCHED EARLIER.
# (Z=0, USUALLY)
# LET DELTD = THE ACTUAL TIME TAKEN TO GIVE CONTROL TO 2CADR
# THEN DELTD = TS+DELTA T -X +Y +Z +1.05MS* +COUNTERS*
# *-THE TIME TAKEN BY WAITLIST ITSELF AND THE COUNTER TICKING DURING THIS WAITLIST TIME.
# IN SHORT, THE ACTUAL TIME TO RETURN CONTROL TO A 2CADR IS AUGMENTED BY THE TIME TO SET UP THE TASK:S
# INTERRUPT, ALL COUNTERS TICKING, THE T3RUPT PROCESSING TIME, THE WAITLIST PROCESSING TIME AND THE POSSIBILITY
# OF OTHER TASKS INHIBITING THE INTERRUPT.
BLOCK 02
## Page 1193
EBANK= LST1 # TASK LISTS IN SWITCHED E BANK.
COUNT 02/WAIT
TWIDDLE INHINT
TS L # SAVE DELAY TIME IN L
CA POSMAX
ADS Q # CREATING OVERFLOW AND Q-1 IN Q
CA BBANK
EXTEND
ROR SUPERBNK
XCH L
WAITLIST INHINT
XCH Q # SAVE DELTA T IN Q AND RETURN IN
TS WAITEXIT # WAITEXIT.
EXTEND
INDEX WAITEXIT # IF TWIDDLING, THE TS SKIPS TO HERE
DCA 0 # PICK UP 2CADR OF TASK.
-1 TS WAITADR # BBCON WILL REMAIN IN L
DLY2 CAF WAITBB # ENTRY FROM FIXDELAY AND VARDELAY.
XCH BBANK
TCF WAIT2
# RETURN TO CALLER AFTER TASK INSERTION:
LVWTLIST DXCH WAITEXIT
AD TWO
DTCB
EBANK= LST1
WAITBB BBCON WAIT2
# RETURN TO CALLER +2 AFTER WAITING DT SPECIFIED AT CALLER +1.
FIXDELAY INDEX Q # BOTH ROUTINES MUST BE CALLED UNDER
CAF 0 # WAITLIST CONTROL AND TERMINATE THE TASK
INCR Q # IN WHICH THEY WERE CALLED.
# RETURN TO CALLER +1 AFTER WAITING THE DT AS ARRIVING IN A.
VARDELAY XCH Q # DT TO Q. TASK ADRES TO WAITADR.
TS WAITADR
CA BBANK # BBANK IS SAVED DURING DELAY.
EXTEND
ROR SUPERBNK # ADD SBANK TO BBCON.
TS L
CAF DELAYEX
TS WAITEXIT # GO TO TASKOVER AFTER TASK ENTRY.
TCF DLY2
## Page 1194
DELAYEX TCF TASKOVER -2 # RETURNS TO TASKOVER
## Page 1195
# ENDTASK MUST BE ENTERED IN FIXED-FIXED SO IT IS DISTINGUISHABLE BY ITS ADRES ALONE.
EBANK= LST1
ENDTASK -2CADR SVCT3
SVCT3 CCS FLAGWRD2 # DRIFT FLAG
TCF TASKOVER
TCF TASKOVER
TCF +1
CCS IMUCADR # DON'T DO NBDONLY IF SOMEONE ELSE IS IN
TCF TASKOVER # IMUSTALL.
TCF +3
TCF TASKOVER
TCF TASKOVER
+3 CAF PRIO35 # COMPENSATE FOR NBD COEFFICIENTS ONLY.
TC NOVAC # ENABLE EVERY 81.93 SECONDS
EBANK= NBDX
2CADR NBDONLY
TCF TASKOVER
## Page 1196
# BEGIN TASK INSERTION.
BANK 01
COUNT 01/WAIT
WAIT2 TS WAITBANK # BBANK OF CALLING PROGRAM.
CS TIME3
AD BIT8 # BIT 8 = OCT 200
CCS A # TEST 200 - C(TIME3). IF POSITIVE,
# IT MEANS THAT TIME3 OVERFLOW HAS OCCURRED PRIOR TO CS TIME3 AND THAT
# C(TIME3) = T - T1, INSTEAD OF 1.0 - (T1 - T). THE FOLLOWING FOUR
# ORDERS SET C(A) = TD - T1 + 1 IN EITHER CASE.
AD OCT40001 # OVERFLOW HAS OCCURRED. SET C(A) =
CS A # T - T1 + 1.0 - 201
# NORMAL CASE (C(A) NNZ) YIELDS SAME C(A): -( -(1.0-(T1-T)) + 200) - 1
AD OCT40201
AD Q # RESULT = TD - T1 + 1.
CCS A # TEST TD - T1 +1
AD LST1 # IF TD - T1 POS, GO TO WTLST5 WITH
TCF WTLST5 # C(A) = (TD - T1) + C(LST1) = TD-T2+1
NOOP
CS Q
# NOTE THAT THIS PROGRAM SECTION IS NEVER ENTERED WHEN T-T1 G/E -1,
# SINCE TD-T1+1 = (TD-T) + (T-T1+1), AND DELTA T = TD-T G/E +1. (G/E
# SYMBOL MEANS GREATER THAN OR EQUAL TO). THUS THERE NEED BE NO CON-
# CERN OVER A PREVIOUS OR IMMINENT OVERFLOW OF TIME3 HERE.
AD POS1/2 # WHEN TD IS NEXT, FORM QUANTITY
AD POS1/2 # 1.0 - DELTA T = 1.0 - (TD - T)
XCH TIME3
AD NEGMAX
AD Q # 1.0 - DELTAT T NOW COMPLETE.
EXTEND # ZERO INDEX Q.
QXCH 7 # (ZQ)
## Page 1197
WTLST4 XCH LST1
XCH LST1 +1
XCH LST1 +2
XCH LST1 +3
XCH LST1 +4
XCH LST1 +5
XCH LST1 +6
XCH LST1 +7
CA WAITADR # (MINOR PART OF TASK CADR HAS BEEN IN L.)
INDEX Q
TCF +1
DXCH LST2
DXCH LST2 +2
DXCH LST2 +4
DXCH LST2 +6
DXCH LST2 +8D
DXCH LST2 +10D # AT END, CHECK THAT C(LST2 +10) IS STD
DXCH LST2 +12D
DXCH LST2 +14D
DXCH LST2 +16D
AD ENDTASK # END ITEM, AS CHECK FOR EXCEEDING
# THE LENGTH OF THE LIST.
EXTEND # DUMMY TASK ADRES SHOULD BE IN FIXED-
BZF LVWTLIST # FIXED SO ITS ADRES ALONE DISTINGUISHES
TCF WTABORT # IT.
## Page 1198
WTLST5 CCS A # TEST TD - T2 + 1
AD LST1 +1
TCF +4
AD ONE
TC WTLST2
OCT 1
+4 CCS A # TEST TD - T3 + 1
AD LST1 +2
TCF +4
AD ONE
TC WTLST2
OCT 2
+4 CCS A # TEST TD - T4 + 1
AD LST1 +3
TCF +4
AD ONE
TC WTLST2
OCT 3
+4 CCS A # TEST TD - T5 + 1
AD LST1 +4
TCF +4
AD ONE
TC WTLST2
OCT 4
+4 CCS A # TEST TD - T6 + 1
AD LST1 +5
TCF +4
AD ONE
TC WTLST2
OCT 5
+4 CCS A # TEST TD - T7 + 1
AD LST1 +6
TCF +4
AD ONE
TC WTLST2
OCT 6
## Page 1199
+4 CCS A
AD LST1 +7
TCF +4
AD ONE
TC WTLST2
OCT 7
+4 CCS A
WTABORT TC BAILOUT # NO ROOM IN THE INN.
OCT 1203
AD ONE
TC WTLST2
OCT 10
OCT40201 OCT 40201
## Page 1200
# THE ENTRY TO WTLST2 JUST PRECEDING OCT N IS FOR T LE TD LE T -1.
# N N+1
# (LE MEANS LESS THAN OR EQUAL TO). AT ENTRY, C(A) = -(TD - T + 1)
# N+1
# THE LST1 ENTRY-(T -T +1) IS TO BE REPLACED BY -(TD - T + 1), AND
# N+1 N N
# THE ENTRY-(T - TD + 1) IS TO BE INSERTED IMMEDIATELY FOLLOWING.
# N+1
WTLST2 TS WAITTEMP # C(A) = -(TD - T + 1)
INDEX Q
CAF 0
TS Q # INDEX VALUE INTO Q.
CAF ONE
AD WAITTEMP
INDEX Q # C(A) = -(TD - T ) + 1.
ADS LST1 -1 # N
CS WAITTEMP
INDEX Q
TCF WTLST4
# C(TIME3) = 1.0 - (T1 - T)
#
# C(LST1) = - (T2 - T1) + 1
# C(LST1+1) = - (T3 - T2) + 1
# C(LST1+2) = - (T4 - T3) + 1
# C(LST1+3) = - (T5 - T4) + 1
# C(LST1+4) = - (T6 - T5) + 1
#
# C(LST2) = 2CADR TASK1
# C(LST2+2) = 2CADR TASK2
# C(LST2+4) = 2CADR TASK3
# C(LST2+6) = 2CADR TASK4
# C(LST2+8) = 2CADR TASK5
# C(LST2+10) = 2CADR TASK6
## Page 1201
# ENTERS HERE ON T3 RUPT TO DISPATCH WAITLISTED TASK.
T3RUPT EXTEND
ROR SUPERBNK # READ CURRENT SUPERBANK VALUE AND
TS BANKRUPT # SAVE WITH E AND F BANK VALUES.
EXTEND
QXCH QRUPT
T3RUPT2 CAF NEG1/2 # DISPATCH WAITLIST TASK.
XCH LST1 +7
XCH LST1 +6
XCH LST1 +5
XCH LST1 +4 # 1. MOVE UP LST1 CONTENTS, ENTERING
XCH LST1 +3 # A VALUE OF 1/2 +1 AT THE BOTTOM
XCH LST1 +2 # FOR T6-T5, CORRESPONDING TO THE
XCH LST1 +1 # INTERVAL 81.91 SEC FOR ENDTASK.
XCH LST1
AD POSMAX # 2. SET T3 = 1.0 - T2 - T USING LIST 1.
ADS TIME3 # SO T3 WONT TICK DURING UPDATE.
TS RUPTAGN
CS ZERO
TS RUPTAGN # SETS RUPTAGN TO +1 ON OVERFLOW.
EXTEND # DISPATCH TASK.
DCS ENDTASK
DXCH LST2 +16D
DXCH LST2 +14D
DXCH LST2 +12D
DXCH LST2 +10D
DXCH LST2 +8D
DXCH LST2 +6
DXCH LST2 +4
DXCH LST2 +2
DXCH LST2
XCH L
EXTEND
WRITE SUPERBNK # SET SUPERBANK FROM BBCON OF 2CADR
XCH L # RESTORE TO L FOR DXCH Z.
DTCB
## Page 1202
# RETURN, AFTER EXECUTION OF T3 OVERFLOW TASK:
BLOCK 02
COUNT 02/WAIT
TASKOVER CCS RUPTAGN # IF +1 RETURN TO T3RUPT, IF -0 RESUME.
CAF WAITBB
TS BBANK
TCF T3RUPT2 # DISPATCH NEXT TASK IF IT WAS DUE.
CA BANKRUPT
EXTEND
WRITE SUPERBNK # RESTORE SUPERBANK BEFORE RESUME IS DONE
RESUME EXTEND
QXCH QRUPT
NOQRSM CA BANKRUPT
XCH BBANK
NOQBRSM DXCH ARUPT
RELINT
RESUME
## Page 1203
# LONGCALL
# PROGRAM DESCRIPTION DATE - 17 MARCH 1967
# PROGRAM WRITTEN BY W.H.VANDEVER LOG SECTION WAITLIST
# MOD BY - R. MELANSON TO ADD DOCUMENTATION ASSEMBLY SUNDISK REV. 100
#
# FUNCTIONAL DESCRIPTION -
# LONGCALL IS CALLED WITH THE DELTA TIME ARRIVING IN A,L SCALED AS TIME2,TIME1 WITH THE 2CADR OF THE TASK
# IMMEDIATELY FOLLOWING THE TC LONGCALL. FOR EXAMPLE, IT MIGHT BE DONE AS FOLLOWS WHERE TIMELOC IS THE NAME OF
# A DP REGISTER CONTAINING A DELTA TIME AND WHERE TASKTODO IS THE NAME OF THE LOCATION AT WHICH LONGCALL IS TO
# START
# CALLING SEQUENCE -
# EXTEND
# DCA TIMELOC
# TC LONGCALL
# 2CADR TASKTODO
# NORMAL EXIT MODE -
# 1). TC WAITLIST
# 2). DTCB (TO L+3 OF CALLING ROUTINE 1ST PASS THRU LONGCYCL)
# 3). DTCB (TO TASKOVER ON SUBSEQUENT PASSES THRU LONGCYCL)
# ALARM OR ABORT EXIT MODE -
# NONE
# OUTPUT -
# LONGTIME AND LONGTIME+1 = DELTA TIME
# LONGEXIT AND LONGEXIT+1 = RETURN 2CADR
# LONGCADR AND LONGCADR+1 = TASK 2CADR
# A = SINGLE PRECISION TIME FOR WAITLIST
# ERASABLE INITIALIZATION -
# A = MOST SIGNIFICANT PART OF DELTA TIME
# L = LEAST SIGNIFICANT PART OF DELTA TIME
# Q = ADDRESS OF 2CADR TASK VALUE
# DEBRIS -
# A,Q,L
# LONGCADR AND LONGCADR+1
# LONGEXIT AND LONGEXIT+1
# LONGTIME AND LONGTIME+1
# *** THE FOLLOWING IS TO BE IN FIXED-FIXED AND UNSWITCHED ERRASIBLE ***
BLOCK 02
EBANK= LST1
LONGCALL DXCH LONGTIME # OBTAIN THE DELTA TIME
EXTEND # OBTAIN THE 2CADR
## Page 1204
NDX Q
DCA 0
DXCH LONGCADR
EXTEND # NOW GO TO THE APPROPRIATE SWITCHED BANK
DCA LGCL2CDR # FOR THE REST OF LONGCALL
DTCB
EBANK= LST1
LGCL2CDR 2CADR LNGCALL2
# *** THE FOLLOWING MAY BE IN A SWITCHED BANK, INCLUDING ITS ERASABLE ***
BANK 01
COUNT 01/WAIT
LNGCALL2 LXCH LONGEXIT +1 # SAVE THE CORRECT BB FOR RETURN
CA TWO # OBTAIN THE RETURN ADDRESS
ADS Q
TS LONGEXIT
# *** WAITLIST TASK LONGCYCL ***
LONGCYCL EXTEND # CAN WE SUCCESFULLY TAKE ABOUT 1.25
DCS DPBIT14 # MINUTES OFF OF LONGTIME
DAS LONGTIME
CCS LONGTIME +1 # THE REASONIBG BEHIND THIS PART IS
TCF MUCHTIME # INVOLVED, TAKING INTO ACCOUNT THAT THE
# WORDS MAY NOT BE SIGNED CORRECTED (DP
# BASIC INSTRUCTIONS
# DO NOT SIGN CORRECT) AND THAT WE SUBTRAC
# TED BIT14 (1 OVER HALF THE POS. VALUE
# REPRESENTIBLE IN SINGLE WORD)
NOOP # CAN:T GET HERE **********
TCF +1
CCS LONGTIME
TCF MUCHTIME
DPBIT14 OCT 00000
OCT 20000
# LONGCALL
LASTTIME CA BIT14 # GET BACK THE CORRECT DELTA TFOR WAITLIST
ADS LONGTIME +1
TC WAITLIST
EBANK= LST1
2CADR GETCADR # THE ENTRY TO OUR LONGCADR
LONGRTRN CA TSKOVCDR # SET IT UP SO THAT ONLY THE FIRST EXIT IS
## Page 1205
DXCH LONGEXIT # TO THE CALLER OF LONGCALL
DTCB # THE REST ARE TO TASKOVER
MUCHTIME CA BIT14 # WE HAVE OVER OUR ABOUT 1.25 MINUTES
TC WAITLIST # SO SET UP FOR ANOTHER CYCLE THROUGH HERE
EBANK= LST1
2CADR LONGCYCL
TCF LONGRTRN # NOW EXIT PROPERLY
# *** WAITLIST TASK GETCADR ***
GETCADR DXCH LONGCADR # GET THE LONGCALL THAT WE WISHED TO START
DTCB # AND TRANSFER CONTROL TO IT
TSKOVCDR GENADR TASKOVER