fc 1227 m10 WHIRLWIND CHECKER, BENNETT
OCTAL
2200|p2,
2400|p7,
|PERM A, includes executive program, special function, and routines needed for
|executing executive instructions.  This block will be written over
|by the interpretive routine.

DA1.10240|2440|a14,ca 0
a3,ad 1k3	|p2
td c1
a11,ca c1	|executive program counter
md 2k8	|177
si 510	|indicator lights
rc
sp r1
sp r4	|print no
ca 0	|space
sp r10	|pr
spc1-1	|checker
clh24
ad7k3	|a8
tda9
a9,ca
spr34	|des.
si1713
cak8
4a9,bi 2000
sp r1
sp 2000
a8,b1
b2
b3
b4
b47
b6
b42
b37
b22
|second group of executive instructions
2b7,b36
0
b57
b12
b13
b14
10r,b15
b46
b9
b17
14r,b18
b19
b39
b40
20r,b20
b48
b49
b50
24r,b51
b55
a10,taa13	|executive drum si
cp1a13
si1703
a13,sp
si1713
spa13
|print 3 digits, to 177
r4,ta 11r13
1r4,clc 11
sp r36	|print first digit
sp 7r13
|print 5 digits
r42,ta 11r13
clc 1
ts 2d10
sp 4r13
|print 4 digit address of executive instruction
r26,ta5r
sp c1-1
tmmsp r3
spc1-1
md 1k2
5,sp
|print comma, space
tmvr39,ta 5r
cs 3k8	|45, comma
sp r11	|print
ca 0
4,sp r10	|print space
5,sp
|plant register
r2,ta6r
ca2d1	|location
ts6
ca1d1
spb41
ts1d1
6,sp
|obtain block
r18,ta w10	|obtain block
ca c3
ts 3
cp1w10	|core fld
w13,sp a10	|execute si
ca 1c3	|no. words
bi p9
w10,sp
1w10,clh 1
cp w11	|core field
ca c3
sp w13
w11,clh 25
md 7k1	|7
ck 0
sd 10k1	|10
sd 5k3	|cf 300
ex 5
ts 1t2
ex 1	|1 in ac will add 2000
clh 12
sd k11	|ca 0
ts 6
cs 1c3	|n
ad1
ts 2t2
ca 11k6	|p9
td 1w12
w12,sp b41	|obtain word
1w12,ts
ao 6
ao 1w12
ao 2t2
cp w12
ca 1t2
ts 5
sp w10
|constants
k8,si 200	|length of executive routines
1k8,0	|spare
2k8,si 177
3k8,si 45
k3,1.77740
1k3,p2
2k3,si 50
3k3,1.74000	|md 0
4k3,ex 0	|0.64000
5k3,cf 300
6k3,sp 7
7k3,a8
10k3,b7
t3,0
0
0
0
|filler
DITTO
2700|p1,0	|block of 40
DITTO
|PERM BLOCK B.  This block is always in core.
|print routines
2740|r10,ta 7r11	|print letter or space, tab, cr, upper, lower case color.|
1r10, su 3k5	|44
2r10, sp 2r11	|switch, tso for anelex
ad 3k5	|44
4, ck k5	|-0
sp 15r	|space
ck 11k1	|11
sp 17r	|tab=3spaces
10, ck 1k5	|17
sp 23r	|cr
su 4k5	|34
cp 36r	|ignore|letters-
14, sp 7r11
15, ca 45r	|ab0
sp 40r
17, ca 1d10	|3 spaces
srh 3
su 0
sp 46r
23r10, si 245
ca 6k5	|251
bo t4	|print line
si 17
ca 5k5	|250
30, bi t4	|clear image
31,ca 6k6	|ab51t4
ts d10	|reset key
ca2r10	|0.40000
34, ts 1d10	|reset bit
sp 7r11
36, ad 1	|adjust for letters
37r10, ad d10	|key
40, ts 43r
ca 1d10	|bit
dm 0		|to br
43r10, sp 37r10	|ab to image, const.
srh 1
45, ab 0	|used as constant, 15r
46, cp 51r	|AC is bit| bit in BR -
47, ts 1d10	|new bit
sp 7r11
51, ex d10	|key
ad 2k5	|70, 56d
ts d10
ck3k11
sp31r
slh 17	|bit to AC
sp 47r
|print digit or -.+,
r11,ta 7r
1r11,ts 0	|switch, sp37r10 for anelex
2r11,ad 7k6	|50v1
td 4r
4,ca
clc 12
rc
7r11,sp	|General Exit
|Print Instruction
r14,ta 11r13
sp r16	|print order
sp 1r3	|print address
|Print Instruction - o.f.
r30, ta 11r13
sp r16	|print order
sp 1r13	|print octal fraction
|Print Order
r16,ta 12r
ts t2	|Instruction
clc 25
ad 5k6	|v1, table
td 5r
5,ca
sp r40	|print two letters
ca 0
10,sp r10	|print space
ca t2	|instruction
12, sp
|print comments
r7,ta 1r
1,ca
clh 20	|AC to BR
ab 0
4,clc 1	|sign bit to low order bit
sp r40	|print two letters
ca 2d10	|br
sp r38	|print last letter
10,ao 1r
td 13r
ca 2d10	|br
13,cp	|last wrod
sp 1r
|print octal fraction
r13,ta 11r
sp r36	|print sign bit
ca 7k5	|40 for point
sp r10	|print character
4r13,sp r33
sp r33
6r13,sp r33
7r13,sp r33
10, sp r33
11,sp
|print address
r3,ta 11r13
sp r37	|vnitial for address
sp 6r13
|print 2 letters
r40,ta 4r
sp r38
ca 2d10	|br
sp r38
4,sp
|print carriage return, cr
r9,ta 7r11
ca 1k5	|17
sp 1r10
|print cr and deselect
r28,ta 2r34
sp r9	|cr
sp 1r34	|deselect
|select
r1,ta 2r
1r1,si 630
2,sp
|deselect
r34,ta 2r
1r34,si 630
2r34,sp
|extract character
r33,ta 7r11	|extract octal digit
ca 2d10	|br
clh 23	|next digit to ac
3r33,sp r35	|store br
sp 1r11	|print digit
|extract sign digit, initial entry
r36,ta 7r11	
clh 21
sp 3r33
|initial entry for address
r37,ta 7r11
clc 5
clh 22
sp 3r33
|extract letter
r38,ta 7r11
clh 25
sp r35	|store br
sp 1r10	|print letter
|store br
r35,ta 4r
ts 2d10	|ac
ab 0
ex 2d10	|br
4,sp

|table.  first l0 bits are 2 letters for order code
|last six bits are flexo code.  These two parts have
|no relation to each other.  the flexo code part is
| broken into two parts, digits and letters.
|heading		|order	|char.	|digit	|letter	|anelex
v1,1.17435		|si		|-	|-50(o)		|1
1.12321		|rs	|.	|-47		|2
0.13415		|bi	|+	|-46		|3
1.10431		|rd	|,	|-45		|4
4,0.13310		|bo	|space	|	|0	|blank
1.10306		|rc	|A		|1	|17(o)
1.14462		|sd	|B		|2	|20
0.14634		|cf	|C		|3	|21
10,1.22322		|ts	|D		|4	|22
1.20402		|td	|E		|5	|23
1.20132		|ta	|F		|6	|24
0.15364		|ck	|G		|7	|24
14,0.04250		|ab	|H		|10	|26
0.27045		|ex	|tab		|11	|3 blanks
0.16026		|cp	|J		|12	|30
1.16036		|sp	|K		|13	|31
20,0.14144		|ca	|L		|14	|32
0.16370		|cs	|M		|15	|33
0.04430		|ad	|N		|16	|34
1.16551		|su	|cr		|17	|line feed
24,0.15554		|cm 	|P		|20	|36
1.14156		|sa	|Q		|21	|37
0.07324		|ao	|R		|22	|40
0.21512		|dm	|S		|23	|41
30,0.66240		|mr	|T		|24	|42
0.65016		|mh	|U		|25	|43
0.22674		|dv	|V		|26	|44
1.15446		|sl	|W		|27	|45
34,1.16272		|sr	|X		|30	|46
1.14652		|sf	|Y		|31	|47
0.15442		|cl	|Z		|32	|50
0.64460		|md	|O		|33	|51
40,si 14			|I		|34	|52
si 71			|upper case	|35	|ignored
si 75			|lower case	|36	|ignored
si 10			|space (flexo)	|37	|ignored
44,si 21			|point (flwxo)	|40	|ignored
si 05			|slash (flexo)	|41	|ignored
si 61			|stop (flexo))	|42	|ignored
si 20			|color shift	|43	|ignored
50v1,si 76			|0	|0		|51
si 25			|1	|1		|52
si 17			|2	|2		|53
si 07			|3	|3		|54
54,si 13			|4	|4		|55
si 23			|5	|5		|56
si 33			|6	|6		|57
si 27			|7	|7		|60
60,si 03			|8	|10		|61
si 66			|9	|11		|62
t4,0
DITTO
250r|1.70400
|start at
a7,ta a6	|start at
ca 1d12	|br
clh 20
ad d12	|ac
sp b41
ts d12	|ac
clh 20
ts 1d12	|br
a6,sp
tmm|block in perm a and set up FFs
r15,ta 11r
ca 12k6	|block in perm a
si 1713
ca 10k6	|length of perm a
bi 2200
ca 6k3	|sp 7
ts 4
ca 2d12	|current cf
ts 5
11r,sp
|constants
2k1,2
3k1,3
4k1,4
5k1,5
6k1,6
7k1,7
10k1,8
11k1,9
k2,si 37
1k2,si3777
2k2,si 177
3k2,si 3740
4k2, si4000
5k2, si 1000
k5,-0
1k5,si 17
2k5,si 70
3k5,si 44
4k5,si 34
si 250
si 251
si 40
10k5,si 42
si 35
si 41
5k6,v1
6k6,ab 51t4
7k6,50v1
10k6,si 540	|length of perm a
p9
1.10000	|DA for perm a
k11,1.00000	|ca 0
1.60000	|srr 0
2k11,0.77770
omab 51t4+250
tom|filler
DITTO
|start at executive instruction zero
3600|a1,sp r15	|block out aux
sp a14
b21-1,sp r28
b21,ao c1
sp a11
b23,sp r15	|initialize
si 337	|RMIR, startover at new exec. instr
rd
md 2k2	|77
sp a3
|print pc
b25,sp r1	|print PC
sp r7
0.37660	|cr uc P
1.07700	|C lc sp
ca d4
sp r3	|core address
sp r28
sp 0
b27,sp r15	|start over at next executive instruction
sp b21
b41,ta3777
sp5
c1-1,ta1c1
c1,ca	|exec. addr. ctr.
sp
c2,0	|ctr., areas
0	|ctr., registers
c3,0	|addr. ctr. for area
0	|no. registers in area
d1,0	|exit plant ind.
0	|orig. contents
|location	ex
d2,0	|1-no. areas preserved
1d2,0	|location of last pm request
d3,0	|mode ind.
d4,ca	|program counter
d5,0	|initial addr. of area-1
0	|area length
0	|instruction type
d7,si37	|active region, initial addr.-1
si3740	|length
d9,0	|branch ind.(for conditional branches)
d10,0	|key for anelex
0	|bit for aneles
0	|br for anelex
d12,0	|current AC
0	|current BR
2d12,cf 323	|current core fields
p9,0	|storage table
DITTO
36r|36p9,0	|loop ind. for interpretive
0
t1,0
t2,0
0
0
p6,8	|no. of branches checked for loop
0	|control register
0.77776	|loop limit
tmm|stop checker by right activate and rmir = 3
DITTO
3760|r6,ta 3777
si 300
rd
cp 5r
4r6,sp3777
5r,si 337	|rmir
rd
ck 3k1	|3
10,sp 12r
sp 4r
12,ca 10k5	|42
spr1
sp r10	|print stop
spr34
si 0
3777|3777|sp a1	|dispactcher
STA 32
82