*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) $