summaryrefslogtreecommitdiff
path: root/programs
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--programs/count.pal2
-rw-r--r--programs/mike_fib.pal117
2 files changed, 118 insertions, 1 deletions
diff --git a/programs/count.pal b/programs/count.pal
index 2e96759..aa34be6 100644
--- a/programs/count.pal
+++ b/programs/count.pal
@@ -2,5 +2,5 @@
2 2
3*200 3*200
4 4
5LOOP, TAD [1] 5LOOP, TAD (1)
6 JMP LOOP 6 JMP LOOP
diff --git a/programs/mike_fib.pal b/programs/mike_fib.pal
new file mode 100644
index 0000000..6f56109
--- /dev/null
+++ b/programs/mike_fib.pal
@@ -0,0 +1,117 @@
1 *200
2MAIN, CLA
3 TAD (-26)
4 DCA FIBN
5 DCA FIB0
6 IAC
7 DCA FIB1
8LOOP, CLA
9 TAD FIB0
10 JMS PUTN
11 CLA
12 TAD (054)
13 JMS PUTC
14 CLA
15 TAD FIB0
16 TAD FIB1
17 DCA FIB2
18 TAD FIB1
19 DCA FIB0
20 TAD FIB2
21 DCA FIB1
22 ISZ FIBN
23 JMP LOOP
24EXIT, HLT
25 CLA IAC
26 DCA FIB1
27 DCA FIB0
28 JMP MAIN
29PUTN, 0
30 JMS ITOA
31 CMA IAC
32 IAC
33 CMA IAC
34 DCA 10
35PUTNL, CLA
36 TAD I 10
37 SPA
38 JMP I PUTN
39 TAD (60)
40 JMS PUTC
41 JMP PUTNL
42PUTC, 0
43 TLS
44 TSF
45 JMP .-1
46 JMP I PUTC
47ITOA, 0
48 DCA ITOAV
49 DCA ITOAD
50 DCA ITOAD+1
51 DCA ITOAD+2
52 DCA ITOAD+3
53 TAD (-14)
54 DCA ITOAN
55ITOAL, CLL / LOOP OVER BINARY INPUT BITS
56 TAD ITOAD+3
57 JMS ITOA2X
58 DCA ITOAD+3
59 TAD ITOAD+2
60 JMS ITOA2X
61 DCA ITOAD+2
62 TAD ITOAD+1
63 JMS ITOA2X
64 DCA ITOAD+1
65 TAD ITOAD
66 JMS ITOA2X
67 DCA ITOAD
68 CLL
69 TAD ITOAV / SHIFT MSB OUT OF INPUT VALUE
70 RAL
71 DCA ITOAV
72 RAL
73 TAD ITOAD+3 / ADD SHIFTED-OUT MSB TO DECIMAL LSD
74 DCA ITOAD+3
75 ISZ ITOAN
76 JMP ITOAL / NEXT LOOP ITERATION
77 TAD (ITOAD)
78 DCA ITOAR
79ITOAJ, TAD I ITOAR
80 SZA
81 JMP ITOAX
82 ISZ ITOAR
83 TAD I ITOAR
84 SZA
85 JMP ITOAX
86 ISZ ITOAR
87 TAD I ITOAR
88 SZA
89 JMP ITOAX
90 ISZ ITOAR
91ITOAX, CLA
92 TAD ITOAR
93 JMP I ITOA
94ITOA2X, 0
95 RAL / PUTS 0 IN LINK
96 DCA ITOAT
97 TAD (-12)
98 TAD ITOAT / PUTS 1 IN LINK IF WRAPPED
99 SMA
100 DCA ITOAT
101 CLA
102 TAD ITOAT
103 JMP I ITOA2X
104FIB0, 0
105FIB1, 1
106FIB2, 0
107FIBN, -27
108ITOAD, 0 / OUTPUT DIGITS (MSD FIRST)
109 0
110 0
111 0
112 4000 / OUTPUT SENTINEL
113ITOAN, 0 / INPUT BITS LOOP COUNTER
114ITOAR, 0 / POINTER TO FIRST NONZERO DIGIT
115ITOAT, 0 / SCRATCHPAD FOR ITOA2X
116ITOAV, 0 / VALUE BEING CONVERTED (TEMPORARY)
117$