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
|
*200
MAIN, CLA
TAD (-26)
DCA FIBN
DCA FIB0
IAC
DCA FIB1
LOOP, CLA
TAD FIB0
JMS PUTN
CLA
TAD (012)
JMS PUTC
CLA
TAD FIB0
TAD FIB1
DCA FIB2
TAD FIB1
DCA FIB0
TAD FIB2
DCA FIB1
ISZ FIBN
JMP LOOP
EXIT, HLT
CLA IAC
DCA FIB1
DCA FIB0
JMP MAIN
PUTN, 0
JMS ITOA
CMA IAC
IAC
CMA IAC
DCA 10
PUTNL, CLA
TAD I 10
SPA
JMP I PUTN
TAD (60)
JMS PUTC
JMP PUTNL
PUTC, 0
TLS
TSF
JMP .-1
JMP I PUTC
ITOA, 0
DCA ITOAV
DCA ITOAD
DCA ITOAD+1
DCA ITOAD+2
DCA ITOAD+3
TAD (-14)
DCA ITOAN
ITOAL, CLL / LOOP OVER BINARY INPUT BITS
TAD ITOAD+3
JMS ITOA2X
DCA ITOAD+3
TAD ITOAD+2
JMS ITOA2X
DCA ITOAD+2
TAD ITOAD+1
JMS ITOA2X
DCA ITOAD+1
TAD ITOAD
JMS ITOA2X
DCA ITOAD
CLL
TAD ITOAV / SHIFT MSB OUT OF INPUT VALUE
RAL
DCA ITOAV
RAL
TAD ITOAD+3 / ADD SHIFTED-OUT MSB TO DECIMAL LSD
DCA ITOAD+3
ISZ ITOAN
JMP ITOAL / NEXT LOOP ITERATION
TAD (ITOAD)
DCA ITOAR
ITOAJ, TAD I ITOAR
SZA
JMP ITOAX
ISZ ITOAR
TAD I ITOAR
SZA
JMP ITOAX
ISZ ITOAR
TAD I ITOAR
SZA
JMP ITOAX
ISZ ITOAR
ITOAX, CLA
TAD ITOAR
JMP I ITOA
ITOA2X, 0
RAL / PUTS 0 IN LINK
DCA ITOAT
TAD (-12)
TAD ITOAT / PUTS 1 IN LINK IF WRAPPED
SMA
DCA ITOAT
CLA
TAD ITOAT
JMP I ITOA2X
FIB0, 0
FIB1, 1
FIB2, 0
FIBN, -27
ITOAD, 0 / OUTPUT DIGITS (MSD FIRST)
0
0
0
4000 / OUTPUT SENTINEL
ITOAN, 0 / INPUT BITS LOOP COUNTER
ITOAR, 0 / POINTER TO FIRST NONZERO DIGIT
ITOAT, 0 / SCRATCHPAD FOR ITOA2X
ITOAV, 0 / VALUE BEING CONVERTED (TEMPORARY)
$
|