diff options
Diffstat (limited to '')
| -rw-r--r-- | programs/count.pal | 6 | ||||
| -rw-r--r-- | programs/echo_int.pal | 58 | ||||
| -rw-r--r-- | programs/fib.pal | 131 | ||||
| -rw-r--r-- | programs/fib_mike.pal | 117 | ||||
| -rw-r--r-- | programs/queue.pal (renamed from programs/echo_optimal.pal) | 0 |
5 files changed, 116 insertions, 196 deletions
diff --git a/programs/count.pal b/programs/count.pal deleted file mode 100644 index aa34be6..0000000 --- a/programs/count.pal +++ /dev/null | |||
| @@ -1,6 +0,0 @@ | |||
| 1 | / vim: set sw=8 noexpandtab : | ||
| 2 | |||
| 3 | *200 | ||
| 4 | |||
| 5 | LOOP, TAD (1) | ||
| 6 | JMP LOOP | ||
diff --git a/programs/echo_int.pal b/programs/echo_int.pal deleted file mode 100644 index 62886ff..0000000 --- a/programs/echo_int.pal +++ /dev/null | |||
| @@ -1,58 +0,0 @@ | |||
| 1 | / vim: set sw=8 noexpandtab : | ||
| 2 | |||
| 3 | *000 | ||
| 4 | |||
| 5 | INTRET, 0 | ||
| 6 | JMP GOTINT | ||
| 7 | |||
| 8 | *010 | ||
| 9 | |||
| 10 | HEAD, 7777 / because preincrement | ||
| 11 | TAIL, 7777 | ||
| 12 | |||
| 13 | *200 | ||
| 14 | |||
| 15 | CLA IAC | ||
| 16 | KIE | ||
| 17 | ION | ||
| 18 | CLA | ||
| 19 | LOOP, TAD TAIL | ||
| 20 | CMA IAC | ||
| 21 | TAD HEAD | ||
| 22 | SNA | ||
| 23 | JMP LOOP | ||
| 24 | CLA | ||
| 25 | CDF 0010 | ||
| 26 | TAD I TAIL | ||
| 27 | CDF 0000 | ||
| 28 | IOF / critical section | ||
| 29 | TLS | ||
| 30 | BUSY, TSF / FIXME: remove busy wait inside IOF (see echo_optimal.pal) | ||
| 31 | JMP BUSY | ||
| 32 | TCF | ||
| 33 | ION | ||
| 34 | CLA / end critical section | ||
| 35 | JMP LOOP | ||
| 36 | |||
| 37 | *400 | ||
| 38 | |||
| 39 | SAVEA, 0 | ||
| 40 | SAVEF, 0 | ||
| 41 | |||
| 42 | GOTINT, DCA SAVEA | ||
| 43 | GTF | ||
| 44 | AND (7577) | ||
| 45 | DCA SAVEF | ||
| 46 | KSF | ||
| 47 | JMP RETINT | ||
| 48 | KRB | ||
| 49 | CDF 0010 | ||
| 50 | DCA I HEAD | ||
| 51 | CDF 0000 | ||
| 52 | RETINT, CLA | ||
| 53 | TAD SAVEF | ||
| 54 | RTF | ||
| 55 | CLA | ||
| 56 | TAD SAVEA | ||
| 57 | ION | ||
| 58 | JMP I INTRET | ||
diff --git a/programs/fib.pal b/programs/fib.pal index fb68dc1..a20a843 100644 --- a/programs/fib.pal +++ b/programs/fib.pal | |||
| @@ -1,16 +1,117 @@ | |||
| 1 | / vim: set sw=8 noexpandtab : | 1 | *200 |
| 2 | 2 | MAIN, CLA | |
| 3 | *200 | 3 | TAD (-26) |
| 4 | 4 | DCA FIBN | |
| 5 | LOOP, TAD NPLUS1 | 5 | DCA FIB0 |
| 6 | MQL | 6 | IAC |
| 7 | TAD N | 7 | DCA FIB1 |
| 8 | DCA NPLUS1 | 8 | LOOP, CLA |
| 9 | MQA | 9 | TAD FIB0 |
| 10 | DCA N | 10 | JMS PUTN |
| 11 | CLA | ||
| 12 | TAD (012) | ||
| 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 | ||
| 11 | JMP LOOP | 23 | JMP LOOP |
| 12 | 24 | EXIT, HLT | |
| 13 | *300 | 25 | CLA IAC |
| 14 | 26 | DCA FIB1 | |
| 15 | N, 0 | 27 | DCA FIB0 |
| 16 | NPLUS1, 1 | 28 | JMP MAIN |
| 29 | PUTN, 0 | ||
| 30 | JMS ITOA | ||
| 31 | CMA IAC | ||
| 32 | IAC | ||
| 33 | CMA IAC | ||
| 34 | DCA 10 | ||
| 35 | PUTNL, CLA | ||
| 36 | TAD I 10 | ||
| 37 | SPA | ||
| 38 | JMP I PUTN | ||
| 39 | TAD (60) | ||
| 40 | JMS PUTC | ||
| 41 | JMP PUTNL | ||
| 42 | PUTC, 0 | ||
| 43 | TLS | ||
| 44 | TSF | ||
| 45 | JMP .-1 | ||
| 46 | JMP I PUTC | ||
| 47 | ITOA, 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 | ||
| 55 | ITOAL, 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 | ||
| 79 | ITOAJ, 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 | ||
| 91 | ITOAX, CLA | ||
| 92 | TAD ITOAR | ||
| 93 | JMP I ITOA | ||
| 94 | ITOA2X, 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 | ||
| 104 | FIB0, 0 | ||
| 105 | FIB1, 1 | ||
| 106 | FIB2, 0 | ||
| 107 | FIBN, -27 | ||
| 108 | ITOAD, 0 / OUTPUT DIGITS (MSD FIRST) | ||
| 109 | 0 | ||
| 110 | 0 | ||
| 111 | 0 | ||
| 112 | 4000 / OUTPUT SENTINEL | ||
| 113 | ITOAN, 0 / INPUT BITS LOOP COUNTER | ||
| 114 | ITOAR, 0 / POINTER TO FIRST NONZERO DIGIT | ||
| 115 | ITOAT, 0 / SCRATCHPAD FOR ITOA2X | ||
| 116 | ITOAV, 0 / VALUE BEING CONVERTED (TEMPORARY) | ||
| 117 | $ | ||
diff --git a/programs/fib_mike.pal b/programs/fib_mike.pal deleted file mode 100644 index a20a843..0000000 --- a/programs/fib_mike.pal +++ /dev/null | |||
| @@ -1,117 +0,0 @@ | |||
| 1 | *200 | ||
| 2 | MAIN, CLA | ||
| 3 | TAD (-26) | ||
| 4 | DCA FIBN | ||
| 5 | DCA FIB0 | ||
| 6 | IAC | ||
| 7 | DCA FIB1 | ||
| 8 | LOOP, CLA | ||
| 9 | TAD FIB0 | ||
| 10 | JMS PUTN | ||
| 11 | CLA | ||
| 12 | TAD (012) | ||
| 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 | ||
| 24 | EXIT, HLT | ||
| 25 | CLA IAC | ||
| 26 | DCA FIB1 | ||
| 27 | DCA FIB0 | ||
| 28 | JMP MAIN | ||
| 29 | PUTN, 0 | ||
| 30 | JMS ITOA | ||
| 31 | CMA IAC | ||
| 32 | IAC | ||
| 33 | CMA IAC | ||
| 34 | DCA 10 | ||
| 35 | PUTNL, CLA | ||
| 36 | TAD I 10 | ||
| 37 | SPA | ||
| 38 | JMP I PUTN | ||
| 39 | TAD (60) | ||
| 40 | JMS PUTC | ||
| 41 | JMP PUTNL | ||
| 42 | PUTC, 0 | ||
| 43 | TLS | ||
| 44 | TSF | ||
| 45 | JMP .-1 | ||
| 46 | JMP I PUTC | ||
| 47 | ITOA, 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 | ||
| 55 | ITOAL, 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 | ||
| 79 | ITOAJ, 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 | ||
| 91 | ITOAX, CLA | ||
| 92 | TAD ITOAR | ||
| 93 | JMP I ITOA | ||
| 94 | ITOA2X, 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 | ||
| 104 | FIB0, 0 | ||
| 105 | FIB1, 1 | ||
| 106 | FIB2, 0 | ||
| 107 | FIBN, -27 | ||
| 108 | ITOAD, 0 / OUTPUT DIGITS (MSD FIRST) | ||
| 109 | 0 | ||
| 110 | 0 | ||
| 111 | 0 | ||
| 112 | 4000 / OUTPUT SENTINEL | ||
| 113 | ITOAN, 0 / INPUT BITS LOOP COUNTER | ||
| 114 | ITOAR, 0 / POINTER TO FIRST NONZERO DIGIT | ||
| 115 | ITOAT, 0 / SCRATCHPAD FOR ITOA2X | ||
| 116 | ITOAV, 0 / VALUE BEING CONVERTED (TEMPORARY) | ||
| 117 | $ | ||
diff --git a/programs/echo_optimal.pal b/programs/queue.pal index 89a1fea..89a1fea 100644 --- a/programs/echo_optimal.pal +++ b/programs/queue.pal | |||
