1 /STANDARD FUNCTIONS FOR ROGALGOL 2 3 FIELD 1 4 5 *5040 6 015040 0000 FIX, 0; CLA; TAD EXP; SMA CLA; CMA; DCA SIGN 015041 7200 015042 1044 015043 7700 015044 7040 015045 3043 7 015046 7350 CLA CLL CMA RAR; AND EXP; TAD FIX1 015047 0044 015050 1272 8 015051 7550 SPA SNA; JMP TOSMAL 015052 5267 9 015053 1273 TAD FIX2; SMA; JMS I FIX3 015054 7500 015055 4674 10 015056 7040 CMA; DCA FIXSH; TAD HORD; LSR 015057 3262 015060 1045 015061 7417 11 015062 0000 FIXSH, 0; ISZ SIGN; CIA; DCA EXP; JMP I FIX 015063 2043 015064 7041 015065 3044 015066 5640 12 015067 7200 TOSMAL, CLA; DCA EXP; JMP I FIX 015070 3044 015071 5640 13 015072 6000 FIX1, -2000 14 015073 7764 FIX2, -14 15 015074 1200 FIX3, 1200 16 17 015075 6000 SIN2, 6000; 5125; 5422 015076 5125 015077 5422 18 015100 1775 SIN3, 1775; 5054; 5154 015101 5054 015102 5154 19 015103 5771 SIN4, 5771; 4357; 1430 015104 4357 015105 1430 20 015106 2001 FEX1, 2001; 5612; 5070 015107 5612 015110 5070 21 015111 1777 EX2, 1777; 5427; 1032 015112 5427 015113 1032 22 015114 2006 EX3, 2006; 7405; 6130 015115 7405 015116 6130 23 015117 6012 EX4, 6012; 4547; 1570 015120 4547 015121 1570 24 015122 2004 EX5, 2004; 6003; 6602 015123 6003 015124 6602 25 015125 1776 AT1, 1776; 5455; 4336 015126 5455 015127 4336 26 015130 2002 AT2, 2002; 7326; 2162 015131 7326 015132 2162 27 015133 2003 AT3, 2003; 6606; 1560 015134 6606 015135 1560 28 015136 6003 AT4, 6003; 7066; 5222 015137 7066 015140 5222 29 015141 2002 AT5, 2002; 6503; 7330 015142 6503 015143 7330 30 015144 5777 AT6, 5777; 4170; 7700 015145 4170 015146 7700 31 015147 2001 AT7, 2001; 5626; 6300 015150 5626 015151 6300 32 015152 2000 LN1, 2000; 5520; 2360 015153 5520 015154 2360 33 015155 2002 LN2, 2002; 5612; 5100 015156 5612 015157 5100 34 015160 2000 LN3, 2000; 7542; 1354 015161 7542 015162 1354 35 015163 2000 LN4, 2000; 4625; 3252 015164 4625 015165 3252 36 015166 2000 LN5, 2000; 4000; 0000 015167 4000 015170 0000 37 015171 2000 LN6, 2000; 5427; 1032 015172 5427 015173 1032 38 39 *5200 40 015200 0000 SINE, 0; JMS ABSFL; JMS FMUL; TWODPI 015201 4331 015202 4777 015203 5351 41 015204 4317 JMS SPLIT; TAD RSIGN; AND (3 015205 1341 015206 0376 42 015207 1375 TAD (JMP I SINFAN; DCA .+1; HLT 015210 3211 015211 7402 43 015212 5225 SINFAN, Q1; Q2; Q3; Q4 015213 5216 015214 5221 015215 5223 44 015216 4774 Q2, JMS FINVS; FONE; JMP Q1 015217 5346 015220 5225 45 015221 4773 Q3, JMS FNEG; JMP Q1 015222 5225 46 015223 4772 Q4, JMS FSUB; FONE 015224 5346 47 015225 4771 Q1, JMS FPUT; NEGMKR; JMS SQUARE; JMS FPUT; TEM 015226 7112 015227 4770 015230 4771 015231 7115 48 015232 4777 JMS FMUL; SIN4; JMS FADD; SIN3 015233 5103 015234 4767 015235 5100 49 015236 4777 JMS FMUL; TEM; JMS FADD; SIN2 015237 7115 015240 4767 015241 5075 50 015242 4777 JMS FMUL; TEM; JMS FADD; SIN1 015243 7115 015244 4767 015245 5354 51 015246 4777 JMS FMUL; NEGMKR; JMS RSIGN 015247 7112 015250 4341 52 015251 5600 JMP I SINE 53 54 015252 0000 COS, 0; JMS FADD; PIDTWO; JMS SINE; JMP I COS 015253 4767 015254 5556 015255 4200 015256 5652 55 56 015257 0000 FLEXP, 0 57 015260 4777 JMS FMUL; FEX1; JMS SPLIT 015261 5106 015262 4317 58 015263 4777 JMS FMUL; EX2; JMS FPUT; NEGMKR 015264 5111 015265 4771 015266 7112 59 015267 4770 JMS SQUARE; JMS FADD; EX3; JMS FINVD; EX4 015270 4767 015271 5114 015272 4766 015273 5117 60 015274 4767 JMS FADD; EX5; JMS FSUB; NEGMKR; JMS FPUT; TEM 015275 5122 015276 4772 015277 7112 015300 4771 015301 7115 61 015302 4765 JMS FGET; NEGMKR; ISZ EXP; NOP 015303 7112 015304 2044 015305 7000 62 015306 4764 JMS FDIV; TEM; JMS FADD; FONE 015307 7115 015310 4767 015311 5346 63 015312 4770 JMS SQUARE; TAD RSIGN; TAD EXP; DCA EXP 015313 1341 015314 1044 015315 3044 64 015316 5657 JMP I FLEXP 65 66 015317 0000 SPLIT, 0; JMS FPUT; EX1 /SAVE FLAC 015320 4771 015321 0040 67 015322 4763 JMS FIX; TAD EXP; DCA RSIGN /SAVE INTEGER PART 015323 1044 015324 3341 68 015325 4762 JMS FLOAT; JMS FNEG /-WHOLE NUMBER PART 015326 4773 69 015327 4761 JMS ADD; JMP I SPLIT 015330 5717 70 71 015331 0000 ABSFL, 0; CLA CLL CML RAR; AND EXP; DCA FLEXP /SAVE SIGN 015332 7330 015333 0044 015334 3257 72 015335 7350 CLA CLL CMA RAR; AND EXP; DCA EXP /ABS VALUE 015336 0044 015337 3044 73 015340 5731 JMP I ABSFL 74 75 015341 0000 RSIGN, 0; TAD EXP; TAD FLEXP; DCA EXP; JMP I RSIGN 015342 1044 015343 1257 015344 3044 015345 5741 76 77 015346 2001 FONE, 2001; 4000; 0 015347 4000 015350 0000 78 015351 2000 TWODPI, 2000; 5057; 4604 015352 5057 015353 4604 79 015354 2001 SIN1, 2001; 6220; 7716 015355 6220 015356 7716 80 81 015361 6000 *5400 015362 5752 015363 5040 015364 5700 015365 5600 015366 5707 015367 5627 015370 5746 015371 5663 015372 5734 015373 7560 015374 5722 015375 5612 015376 0003 015377 5636 82 015400 0000 ARCTAN, 0; JMS ABSFL; JMS FPUT; NEGMKR 015401 4777 015402 4776 015403 7112 83 015404 4775 JMS FSUB; FONE 015405 5346 84 015406 1044 TAD EXP; SPA CLA; JMP ATN1 015407 7710 015410 5220 85 015411 4774 JMS FGET; FONE; JMS FDIV; NEGMKR 015412 5346 015413 4773 015414 7112 86 015415 4776 JMS FPUT; NEGMKR; CLA CMA 015416 7112 015417 7240 87 015420 3260 ATN1, DCA LN 88 015421 4774 JMS FGET; NEGMKR; JMS SQUARE; JMS FPUT; TEM 015422 7112 015423 4772 015424 4776 015425 7115 89 015426 4771 JMS FADD; AT7; JMS FINVD; AT6; JMS FADD; AT5 015427 5147 015430 4770 015431 5144 015432 4771 015433 5141 90 015434 4771 JMS FADD; TEM; JMS FINVD; AT4 015435 7115 015436 4770 015437 5136 91 015440 4771 JMS FADD; AT3; JMS FADD; TEM 015441 5133 015442 4771 015443 7115 92 015444 4770 JMS FINVD; AT2; JMS FADD; AT1 015445 5130 015446 4771 015447 5125 93 015450 4767 JMS FMUL; NEGMKR; ISZ LN; JMP ATPOS 015451 7112 015452 2260 015453 5256 94 015454 4766 JMS FINVS; PIDTWO 015455 5556 95 015456 4765 ATPOS, JMS RSIGN; JMP I ARCTAN 015457 5600 96 97 015460 0000 LN, 0; TAD EXP; SPA SNA; JMS 1200 /ERROR IF <=0 015461 1044 015462 7550 015463 4764 98 015464 7352 CLA CLL CMA RTR; TAD EXP; SZA CLA; JMP DOLN /EXP NOT 1 015465 1044 015466 7640 015467 5302 99 015470 7330 CLA CLL CML RAR; TAD HORD; SNA; TAD LORD 015471 1045 015472 7450 015473 1046 100 015474 7640 SZA CLA; JMP DOLN /ARGUMENT NOT ONE 015475 5302 101 015476 3044 DCA EXP; DCA HORD; DCA LORD; JMP I LN 015477 3045 015500 3046 015501 5660 102 015502 1044 DOLN, TAD EXP; TAD (-2000; DCA ARCTAN 015503 1363 015504 3200 103 015505 1362 TAD (2000; DCA EXP 015506 3044 104 015507 4776 JMS FPUT; NEGMKR; JMS FADD; LN1 015510 7112 015511 4771 015512 5152 105 015513 4776 JMS FPUT; TEM; JMS FGET; NEGMKR; JMS FSUB; LN1 015514 7115 015515 4774 015516 7112 015517 4775 015520 5152 106 015521 4773 JMS FDIV; TEM; JMS FPUT; NEGMKR; JMS SQUARE 015522 7115 015523 4776 015524 7112 015525 4772 107 015526 4776 JMS FPUT; TEM; JMS FMUL; LN4; JMS FADD; LN3 015527 7115 015530 4767 015531 5163 015532 4771 015533 5160 108 015534 4767 JMS FMUL; TEM; JMS FADD; LN2; JMS FMUL; NEGMKR 015535 7115 015536 4771 015537 5155 015540 4767 015541 7112 109 015542 4775 JMS FSUB; LN5; JMS FPUT; TEM 015543 5166 015544 4776 015545 7115 110 015546 1200 TAD ARCTAN; DCA EXP; JMS FLOAT 015547 3044 015550 4761 111 015551 4771 JMS FADD; TEM; JMS FMUL; LN6 015552 7115 015553 4767 015554 5171 112 015555 5660 JMP I LN 113 114 015556 2001 PIDTWO, 2001; 6220; 7734 015557 6220 015560 7734 115 /NEW FLOATING POINT ROUTINES. WRITTEN TO USE EAE, FOR NON-EAE 116 /MACHINES ADD INTEGER MULTIPLY AND DIVIDE AND SHIFT RIGHT LOGICAL. 117 118 015561 5752 *40 015562 2000 015563 6000 015564 1200 015565 5341 015566 5722 015567 5636 015570 5707 015571 5627 015572 5746 015573 5700 015574 5600 015575 5734 015576 5663 015577 5331 119 010040 0000 EX1, 0 120 010041 0000 AC1H, 0 121 010042 0000 AC1L, 0 122 010043 0000 SIGN, 0 123 010044 0000 EXP, 0 124 010045 0000 HORD, 0 125 010046 0000 LORD, 0 126 010047 0000 X, 0 127 128 DSWIT=60; CHAR=57; SUDOMQ=33 129 130 *5600 131 132 015600 0000 FGET, 0; SNA; TAD I FGET; ISZ FGET; TAD M1; DCA 11 015601 7450 015602 1600 015603 2200 015604 1371 015605 3011 133 015606 1411 TAD I 11; DCA EXP 015607 3044 134 015610 1411 TAD I 11; DCA HORD 015611 3045 135 015612 1411 TAD I 11; DCA LORD; JMP I FGET 015613 3046 015614 5600 136 137 015615 0000 GETOP, 0; TAD M1; DCA 11 015616 1371 015617 3011 138 015620 1411 TAD I 11; DCA EX1 015621 3040 139 015622 1411 TAD I 11; DCA AC1H 015623 3041 140 015624 1411 TAD I 11; DCA AC1L; JMP I GETOP 015625 3042 015626 5615 141 142 015627 0000 FADD, 0; SNA; TAD I FADD; ISZ FADD 015630 7450 015631 1627 015632 2227 143 015633 4215 JMS GETOP; JMS ADD; JMP I FADD 015634 4777 015635 5627 144 145 015636 0000 FMUL, 0; SNA; TAD I FMUL; ISZ FMUL; JMS GETOP 015637 7450 015640 1636 015641 2236 015642 4215 146 015643 4776 JMS FMULT; JMP I FMUL 015644 5636 147 148 015645 0000 XORSGN, 0 /SET SIGN FOR MULTIPLY AND DIVIDE 149 015646 7330 CLA CLL CML RAR; AND EXP; TAD EX1 015647 0044 015650 1040 150 015651 7004 RAL; CLA RAR; DCA SIGN 015652 7210 015653 3043 151 015654 7350 CLA CLL CMA RAR; AND EXP; DCA EXP 015655 0044 015656 3044 152 015657 7350 CLA CLL CMA RAR; AND EX1; DCA EX1; JMP I XORSGN 015660 0040 015661 3040 015662 5645 153 154 015663 0000 FPUT, 0; SNA; TAD I FPUT; ISZ FPUT 015664 7450 015665 1663 015666 2263 155 015667 1371 TAD M1; DCA 11 015670 3011 156 015671 1044 TAD EXP; DCA I 11; TAD HORD; DCA I 11 015672 3411 015673 1045 015674 3411 157 015675 1046 TAD LORD; DCA I 11; JMP I FPUT 015676 3411 015677 5663 158 159 015700 0000 FDIV, 0; SNA; TAD I FDIV; ISZ FDIV; JMS GETOP 015701 7450 015702 1700 015703 2300 015704 4215 160 015705 4775 JMS DIV; JMP I FDIV 015706 5700 161 162 015707 0000 FINVD, 0; SNA; TAD I FINVD; DCA DIVOP; ISZ FINVD 015710 7450 015711 1707 015712 3317 015713 2307 163 015714 4263 JMS FPUT; EX1 /FLAC TO OPERAND 015715 0040 164 015716 4200 JMS FGET 165 015717 0000 DIVOP, 0 /OPERAND TO FLAC 166 015720 4775 JMS DIV; JMP I FINVD 015721 5707 167 168 015722 0000 FINVS, 0; SNA; TAD I FINVS; ISZ FINVS; JMS GETOP 015723 7450 015724 1722 015725 2322 015726 4215 169 015727 7330 CLA CLL CML RAR; TAD EXP; DCA EXP /NEGATE FLAC 015730 1044 015731 3044 170 015732 4777 JMS ADD; JMP I FINVS 015733 5722 171 172 015734 0000 FSUB, 0; SNA; TAD I FSUB; ISZ FSUB; JMS GETOP 015735 7450 015736 1734 015737 2334 015740 4215 173 015741 7330 CLA CLL CML RAR; TAD EX1; DCA EX1 /NEGATE OPERAND 015742 1040 015743 3040 174 015744 4777 JMS ADD; JMP I FSUB 015745 5734 175 176 015746 0000 SQUARE, 0; JMS FMUL; EXP; JMP I SQUARE 015747 4236 015750 0044 015751 5746 177 178 015752 0000 FLOAT, 0; CLA CLL CML RAR; AND EXP; DCA SIGN 015753 7330 015754 0044 015755 3043 179 015756 1044 TAD EXP; SPA; CIA; DCA HORD; DCA LORD 015757 7510 015760 7041 015761 3045 015762 3046 180 015763 1370 TAD FLO2; TAD SIGN; DCA EXP 015764 1043 015765 3044 181 015766 4774 JMS NORM; JMP I FLOAT 015767 5752 182 015770 2014 FLO2, 2014 183 184 015771 7777 M1, -1 185 015774 6072 *6000 015775 6200 015776 6623 015777 6000 186 187 016000 0000 ADD, 0 188 016001 7330 CLA CLL CML RAR; AND EXP; TAD EX1 016002 0044 016003 1040 189 016004 7710 SPA CLA; JMP SUB /SUBTRACT IF SIGNS DIFFER 016005 5234 190 016006 7010 RAR; DCA SIGN /ELSE RESULT SAME SIGN 016007 3043 191 016010 4777 JMS ALIGN; JMP I ADD 016011 5600 192 016012 1046 TAD LORD; TAD AC1L; DCA LORD 016013 1042 016014 3046 193 016015 7004 RAL; TAD HORD; TAD AC1H 016016 1045 016017 1041 194 016020 7430 SZL; JMP ADDOV /MUST SHIFT IF OVERFLOWED 016021 5224 195 016022 3045 DCA HORD; JMP I ADD /IF NOT MUST BE NORMALISED 016023 5600 196 016024 7010 ADDOV, RAR; DCA HORD; TAD LORD; RAR; DCA LORD 016025 3045 016026 1046 016027 7010 016030 3046 197 016031 2044 ISZ EXP; JMP I ADD; JMS 1200 016032 5600 016033 4776 198 016034 7330 SUB, CLA CLL CML RAR; AND EXP; DCA SIGN 016035 0044 016036 3043 199 016037 4777 JMS ALIGN; JMP I ADD 016040 5600 200 016041 1042 TAD AC1L; CIA; TAD LORD; DCA LORD 016042 7041 016043 1046 016044 3046 201 016045 1041 TAD AC1H; CMA; SZL; CLL IAC 016046 7040 016047 7430 016050 7101 202 016051 1045 TAD HORD; DCA HORD 016052 3045 203 016053 7430 SZL; JMP SUBOK /DID WE SUBTRACT SMALLER? 016054 5270 204 016055 1046 TAD LORD; CIA; DCA LORD /NO SO NEGATE RESULT 016056 7041 016057 3046 205 016060 1045 TAD HORD; CMA; SZL; IAC; DCA HORD 016061 7040 016062 7430 016063 7001 016064 3045 206 016065 7330 CLA CLL CML RAR; TAD EXP; DCA EXP 016066 1044 016067 3044 207 016070 4272 SUBOK, JMS NORM; JMP I ADD 016071 5600 208 209 016072 0000 NORM, 0 210 016073 7300 CLA CLL; TAD HORD; SPA CLA; JMP I NORM 016074 1045 016075 7710 016076 5672 211 016077 1045 TAD HORD; SNA; TAD LORD; SNA CLA; JMP NZERO 016100 7450 016101 1046 016102 7650 016103 5324 212 016104 1046 TAD LORD; MQL; TAD HORD; NMI; DCA HORD /AC MUST BE 01XXX 016105 7421 016106 1045 016107 7411 016110 3045 213 016111 7441 SCA; CMA; TAD EXP; DCA EXP /SHIFT 1+NMI SHIFT 016112 7040 016113 1044 016114 3044 214 016115 1045 TAD HORD; SHL; 0 016116 7413 016117 0000 215 016120 3045 DCA HORD; MQA; DCA LORD; JMP I NORM 016121 7501 016122 3046 016123 5672 216 016124 3044 NZERO, DCA EXP; JMP I NORM 016125 5672 217 218 016176 1200 *6200 016177 6400 219 016200 0000 DIV, 0; TAD HORD; SNA CLA; JMP I DIV /DIVIDEND ZERO 016201 1045 016202 7650 016203 5600 220 016204 1041 TAD AC1H; SNA CLA; JMS 1200 /ERROR DIVISOR ZERO 016205 7650 016206 4777 221 016207 4776 JMS XORSGN /SET SIGN AND REMOVE SIGN BITS 222 016210 1040 TAD EX1; CIA; TAD EXP; TAD (2001 /SUBTRACT 016211 7041 016212 1044 016213 1375 223 016214 7510 SPA; JMS 1200; TAD SIGN; DCA EXP /FAIL OVER/UNDERFLOW 016215 4777 016216 1043 016217 3044 224 016220 3047 DCA X; TAD AC1L; DCA DV3; TAD AC1H; DCA DV4 016221 1042 016222 3242 016223 1041 016224 3263 225 016225 1263 TAD DV4; DCA DV2 016226 3235 226 016227 1046 TAD LORD; MQL; TAD HORD; LSR; 0; DVI 016230 7421 016231 1045 016232 7417 016233 0000 016234 7407 227 016235 0000 DV2, 0; DCA DV2; MQA; DCA HORD; MUY 016236 3235 016237 7501 016240 3045 016241 7405 228 016242 0000 DV3, 0; CLL CIA; TAD DV2; SNA; JMP DV5 016243 7141 016244 1235 016245 7450 016246 5271 229 016247 7420 SNL; JMP DV6; DCA DV3 016250 5301 016251 3242 230 016252 7040 CMA; DCA X; MQA; CLL CIA; MQL 016253 3047 016254 7501 016255 7141 016256 7421 231 016257 7420 SNL; CMA; TAD DV3; DVI 016260 7040 016261 1242 016262 7407 232 016263 0000 DV4, 0; CLA; MQA; CLL CML; ISZ X; CLL CIA 016264 7200 016265 7501 016266 7120 016267 2047 016270 7141 233 016271 3046 DV5, DCA LORD; SNL; CMA; TAD HORD; SMA; JMP DV7 016272 7420 016273 7040 016274 1045 016275 7500 016276 5321 234 016277 3045 DCA HORD; JMP I DIV 016300 5600 235 016301 7041 DV6, CIA; DCA DV2; TAD DV4; CLL CIA; TAD DV2 016302 3235 016303 1263 016304 7141 016305 1235 236 016306 7420 SNL; JMP .+5; DCA DV2; CMA; TAD HORD; DCA HORD 016307 5314 016310 3235 016311 7040 016312 1045 016313 3045 237 016314 7200 CLA; TAD DV2; SZA; JMP DV4-1; JMP DV5-1 016315 1235 016316 7440 016317 5262 016320 5270 238 016321 3045 DV7, DCA HORD; TAD LORD; CLL RAL; DCA LORD 016322 1046 016323 7104 016324 3046 239 016325 1045 TAD HORD; RAL; DCA HORD /SHIFT RESULT LEFT IF NOT NORMALISED 016326 7004 016327 3045 240 016330 7040 CMA; TAD EXP; DCA EXP; JMP I DIV 016331 1044 016332 3044 016333 5600 241 242 *6336 243 016336 0000 PSDMUY, 0; DCA MUYAC; TAD (-15; DCA MUYC 016337 3366 016340 1374 016341 3367 244 016342 1736 TAD I PSDMUY; DCA MUYOP; ISZ PSDMUY 016343 3365 016344 2336 245 016345 7100 CLL; JMP MUYST 016346 5355 246 016347 7420 MUYL, SNL; JMP .+3 016350 5353 247 016351 7100 CLL; TAD MUYOP; RAR; DCA MUYAC 016352 1365 016353 7010 016354 3366 248 016355 1033 MUYST, TAD SUDOMQ; RAR; DCA SUDOMQ 016356 7010 016357 3033 249 016360 1366 TAD MUYAC; ISZ MUYC; JMP MUYL; CLL; JMP I PSDMUY 016361 2367 016362 5347 016363 7100 016364 5736 250 016365 0000 MUYOP, 0 251 016366 0000 MUYAC, 0 252 016367 0000 MUYC, 0 253 254 016374 7763 *6400 016375 2001 016376 5645 016377 1200 255 256 016400 0000 ALIGN, 0 257 016401 1041 TAD AC1H; SNA CLA; JMP I ALIGN /ZERO OPERAND 016402 7650 016403 5600 258 016404 1045 TAD HORD; SZA CLA; JMP NOTZ /ZERO FLAC 016405 7640 016406 5217 259 016407 7200 RESOP, CLA; TAD EX1; DCA EXP 016410 1040 016411 3044 260 016412 1041 TAD AC1H; DCA HORD 016413 3045 261 016414 1042 TAD AC1L; DCA LORD; JMP I ALIGN /ADDITION DONE 016415 3046 016416 5600 262 016417 7350 NOTZ, CLA CLL CMA RAR; AND EXP; DCA EXP 016420 0044 016421 3044 263 016422 7350 CLA CLL CMA RAR; AND EX1; CIA 016423 0040 016424 7041 264 016425 1044 TAD EXP; SNA; JMP DONE 016426 7450 016427 5253 265 016430 7500 SMA; JMP SHOP /JMP IF FLAC LARGER 016431 5261 266 016432 1377 TAD (27; SPA; JMP RESOP /TOO MUCH SHIFT OF FLAC 016433 7510 016434 5207 267 016435 1376 TAD (-27; CMA; DCA SHFT 016436 7040 016437 3247 268 016440 7350 CLA CLL CMA RAR; AND EX1; DCA EXP /TRANSFER EXPONENT 016441 0040 016442 3044 269 016443 1046 TAD LORD; MQL; TAD HORD; LSR 016444 7421 016445 1045 016446 7417 270 016447 0000 SHFT, 0; DCA HORD; MQA; DCA LORD 016450 3045 016451 7501 016452 3046 271 016453 2200 DONE, ISZ ALIGN 272 016454 7300 RESAC, CLA CLL; TAD EXP; TAD SIGN; DCA EXP; JMP I ALIGN 016455 1044 016456 1043 016457 3044 016460 5600 273 016461 1376 SHOP, TAD (-27; SMA SZA; JMP RESAC /TOO MUCH OPERAND SHIFT 016462 7540 016463 5254 274 016464 1375 TAD (26; DCA SHFT1 016465 3272 275 016466 1042 TAD AC1L; MQL; TAD AC1H; LSR 016467 7421 016470 1041 016471 7417 276 016472 0000 SHFT1, 0; DCA AC1H; MQA; DCA AC1L; JMP DONE 016473 3041 016474 7501 016475 3042 016476 5253 277 278 016477 4774 ROOTGO, JMS FPUT; ITER1 016500 6530 279 016501 4773 DOSQR, JMS FGET; 52; JMS FDIV; ITER1 016502 0052 016503 4772 016504 6530 280 016505 4771 JMS FADD; ITER1 016506 6530 281 016507 7240 CLA CMA; TAD EXP; DCA EXP /DIVIDE BY 2 016510 1044 016511 3044 282 016512 1045 TAD HORD; CIA; TAD ITER1+1; SZA CLA; JMP ROOTGO 016513 7041 016514 1331 016515 7640 016516 5277 283 016517 1046 TAD LORD; CIA; TAD ITER1+2 016520 7041 016521 1332 284 016522 7500 SMA; CIA; IAC; SPA CLA; JMP ROOTGO; JMP SQROOT+3 016523 7041 016524 7001 016525 7710 016526 5277 016527 5770 285 016530 0000 ITER1, 0;0;0 016531 0000 016532 0000 286 016533 6032 SQCON1, 6032 287 288 016570 6603 *6600 016571 5627 016572 5700 016573 5600 016574 5663 016575 0026 016576 7751 016577 0027 289 290 016600 0000 SQROOT, 0 291 016601 1045 TAD HORD; SNA CLA; JMP I SQROOT 016602 7650 016603 5600 292 016604 1044 TAD EXP; SPA CLA; JMS 1200 016605 7710 016606 4777 293 016607 4776 JMS FPUT; 52 016610 0052 294 016611 1044 TAD EXP; CLL RAR; SZL; IAC; TAD (1000 016612 7110 016613 7430 016614 7001 016615 1375 295 016616 3774 DCA ITER1; TAD SQCON1; DCA ITER1+1 016617 1773 016620 3772 296 016621 3771 DCA ITER1+2; JMP DOSQR 016622 5770 297 298 016623 0000 FMULT, 0; TAD HORD; SZA CLA; TAD AC1H; SZA CLA; JMP DOMUL 016624 1045 016625 7640 016626 1041 016627 7640 016630 5235 299 016631 3044 DCA EXP; DCA HORD; DCA LORD; JMP I FMULT 016632 3045 016633 3046 016634 5623 300 016635 4767 DOMUL, JMS XORSGN /EXTRACT SIGN BITS 301 016636 1044 TAD EXP; TAD EX1; TAD (-2000; SPA; JMS 1200 /OVERFLOW 016637 1040 016640 1366 016641 7510 016642 4777 302 016643 1043 TAD SIGN; DCA EXP /ADD EXPONENTS 016644 3044 303 016645 1046 TAD LORD; DCA MP1; TAD AC1H; MQL MUY 016646 3251 016647 1041 016650 7425 304 016651 0000 MP1, 0; DCA MP1 /2ND POSITION 016652 3251 305 016653 1042 TAD AC1L; DCA M2; TAD HORD; MQL MQA MUY 016654 3257 016655 1045 016656 7525 306 016657 0000 M2, 0; TAD MP1 /ADD PREVIOUS 2ND POSITION BITS 016660 1251 307 016661 7421 MQL; RAL; DCA M2 /PUT THEM IN MQ, SAVE CARRY 016662 7004 016663 3257 308 016664 1045 TAD HORD; DCA M3; TAD AC1H; MQL MQA MUY 016665 3270 016666 1041 016667 7525 309 016670 0000 M3, 0; TAD M2 /ADD CARRY FROM 2ND POSITION 016671 1257 310 016672 3045 DCA HORD; MQA; DCA LORD 016673 7501 016674 3046 311 016675 1045 TAD HORD; SPA CLA; JMP I FMULT 016676 7710 016677 5623 312 016700 7300 CLA CLL; TAD LORD; RAL; DCA LORD 016701 1046 016702 7004 016703 3046 313 016704 1045 TAD HORD; RAL; DCA HORD 016705 7004 016706 3045 314 016707 7040 CMA; TAD EXP; DCA EXP; JMP I FMULT 016710 1044 016711 3044 016712 5623 315 /MINIMUM POSSIBLE PRODUCT IS 0.25 316 317 *6714 318 016714 0000 PSDDVI, 0 319 016715 3351 DCA DVIAC; TAD I PSDDVI; ISZ PSDDVI 016716 1714 016717 2314 320 016720 3350 DCA PLUSOP; TAD PLUSOP; CLL CIA; DCA DVIOP 016721 1350 016722 7141 016723 3353 321 016724 1365 TAD (-15; DCA DVIC; JMP DIVST 016725 3352 016726 5335 322 016727 1351 DIVL, TAD DVIAC; RAL; TAD DVIOP 016730 7004 016731 1353 323 016732 7420 SNL; JMP NO 016733 5345 324 016734 3351 YES, DCA DVIAC 325 016735 1033 DIVST, TAD SUDOMQ; RAL; DCA SUDOMQ 016736 7004 016737 3033 326 016740 2352 ISZ DVIC; JMP DIVL; TAD DVIAC; CLL; JMP I PSDDVI 016741 5327 016742 1351 016743 7100 016744 5714 327 016745 1350 NO, TAD PLUSOP; CML; JMP YES 016746 7020 016747 5334 328 016750 0000 PLUSOP, 0 329 016751 0000 DVIAC, 0 330 016752 0000 DVIC, 0 331 016753 0000 DVIOP, 0 332 333 334 016765 7763 *7000 016766 6000 016767 5645 016770 6501 016771 6532 016772 6531 016773 6533 016774 6530 016775 1000 016776 5663 016777 1200 335 017000 0000 FINPUT, 0 336 017001 7240 CLA CMA; DCA PERSW; CMA; DCA NEGMKR 017002 3313 017003 7040 017004 3312 337 017005 3060 DCA DSWIT; DCA EXP; DCA HORD; DCA LORD 017006 3044 017007 3045 017010 3046 338 017011 3314 DPART, DCA FRACD /ZERO DIGITS AFTER POINT 339 017012 4320 NDIG, JMS DIGIN; JMP NOTDIG; ISZ DSWIT; ISZ FRACD 017013 5230 017014 2060 017015 2314 340 017016 4777 JMS FMUL; TEN; JMS FPUT; TEM; JMS FGET; DIG-1 017017 7107 017020 4776 017021 7115 017022 4775 017023 7104 341 017024 4774 JMS NORM; JMS FADD; TEM; JMP NDIG /RESULT*10+DIGIT 017025 4773 017026 7115 017027 5212 342 017030 2313 NOTDIG, ISZ PERSW; JMP CONT1 /SECOND PERIOD? 017031 5237 343 017032 2305 ISZ DIG; ISZ DIG; CLA SKP; JMP DPART /NO, IF PERIOD READ ON 017033 2305 017034 7610 017035 5211 344 017036 3314 DCA FRACD /IF NOT ANY PERIOD NO FRACTIONAL DIGITS 345 017037 2312 CONT1, ISZ NEGMKR; JMS FNEG 017040 4772 346 017041 7240 CLA CMA; DCA NEGMKR /SET UP FOR EXPONENT 017042 3312 347 017043 1057 TAD CHAR; TAD (-"E; SNA CLA 017044 1371 017045 7650 348 017046 4320 NEXD, JMS DIGIN; JMP ENDEXP 017047 5256 349 017050 1047 TAD X; CLL RTL; TAD X; CLL RAL; TAD DIG; JMP NEXD /ACCUMULATE EXPONENT 017051 7106 017052 1047 017053 7104 017054 1305 017055 5246 350 017056 1047 ENDEXP, TAD X; ISZ NEGMKR; CIA; CIA; TAD FRACD /-(DECIMAL EXPONENT) 017057 2312 017060 7041 017061 7041 017062 1314 351 017063 7141 CLL CIA; SPA; CLL CML CIA; CMA; DCA FRACD /-(DEC EXP. + 1) 017064 7510 017065 7161 017066 7040 017067 3314 352 017070 7004 RAL; TAD JMSI; DCA FLINS /MAKE JMS FMUL OR JMS FDIV 017071 1301 017072 3276 353 017073 2314 MORE, ISZ FRACD; JMP FLINS; JMP I FINPUT 017074 5276 017075 5600 354 017076 0000 FLINS, 0; TEN; JMP MORE /*10 OR /10 017077 7107 017100 5273 355 017101 4702 JMSI, JMS I .+1; FMUL; FDIV 017102 5636 017103 5700 356 017104 2014 2014 357 017105 0000 DIG, 0; 0 017106 0000 358 017107 2004 TEN, 2004; 5000; 0 017110 5000 017111 0000 359 017112 0000 NEGMKR, 0 360 017113 0000 PERSW, 0 361 017114 0000 FRACD, 0 362 017115 0000 TEM, 0; 0; 0 017116 0000 017117 0000 363 364 017120 0000 DIGIN, 0 365 017121 3047 DCA X; JMS IN; TAD CHAR; TAD (-"+; SNA; JMP NOTPL 017122 4344 017123 1057 017124 1370 017125 7450 017126 5333 366 017127 1367 TAD ("+-"-; SZA CLA; JMP NOTPL+1; DCA NEGMKR 017130 7640 017131 5334 017132 3312 367 017133 4344 NOTPL, JMS IN; TAD CHAR; TAD (-272; CLL 017134 1057 017135 1366 017136 7100 368 017137 1365 TAD (12; DCA DIG; SZL; ISZ DIGIN; JMP I DIGIN /EXIT2 IF DIGIT 017140 3305 017141 7430 017142 2320 017143 5720 369 370 017144 0000 IN, 0; JMS I 77; DCA CHAR; TAD CHAR; SNA; JMP IN+1 017145 4477 017146 3057 017147 1057 017150 7450 017151 5345 371 017152 1364 TAD (-377; SNA CLA; JMP FINPUT+1; JMP I IN 017153 7650 017154 5201 017155 5744 372 373 374 /FLOATING POINT O/P FOR HYBRID EAE FPP 375 376 017164 7401 *7200 017165 0012 017166 7506 017167 7776 017170 7525 017171 7473 017172 7560 017173 5627 017174 6072 017175 5600 017176 5663 017177 5636 377 017200 0000 FOUTP, 0 378 017201 7344 CLA CLL CMA RAL; DCA NEGM; DCA DEXP 017202 3052 017203 3053 379 017204 1056 TAD 56; SZA CLA; JMP NOTEX1 /EXPONENTIAL FORMAT? 017205 7640 017206 5216 380 017207 1060 TAD 60; SNA; TAD (6; DCA 60 017210 7450 017211 1377 017212 3060 381 017213 1060 TAD 60; TAD (10; DCA 57 /SET A&B FOR EXPONENTIAL FORMAT 017214 1376 017215 3057 382 017216 1375 NOTEX1, TAD (-7; DCA MAXPL; TAD HORD; SNA CLA; JMP OZERO 017217 3054 017220 1045 017221 7650 017222 5310 383 017223 1044 TAD EXP; SMA CLA; JMP OPOS; JMS FNEG; DCA NEGM /NEGATE IF NEEDED 017224 7700 017225 5230 017226 4774 017227 3052 384 017230 1044 OPOS, TAD EXP; TAD (-2000; SMA SZA CLA; JMP EXPPOS 017231 1373 017232 7740 017233 5240 385 017234 4772 JMS FMUL; TEN; ISZ DEXP; JMP OPOS /MAKE EXP>0 017235 7107 017236 2053 017237 5230 386 017240 4771 EXPPOS, JMS EXPMIN; JMS FPUT; TEM 017241 4770 017242 7115 387 017243 7332 CLA CLL CML RTR; DCA EXP 017244 3044 388 017245 7030 CML RAR; DCA HORD; DCA LORD /FLAC=0.5 017246 3045 017247 3046 389 017250 1056 TAD 56; SZA CLA; TAD DEXP; CIA 017251 7640 017252 1053 017253 7041 390 017254 1060 TAD 60; SMA; CMA; TAD (7; SPA; CLA; TAD (-7 017255 7500 017256 7040 017257 1367 017260 7510 017261 7200 017262 1375 391 017263 3771 DCA EXPMIN; JMP .+3 017264 5267 392 017265 4766 JMS FDIV; TEN; ISZ EXPMIN; JMP .-3 017266 7107 017267 2771 017270 5265 393 017271 4765 JMS FADD; TEM; JMS EXPMIN /ADD ROUNDING 017272 7115 017273 4771 394 017274 1373 L1, TAD (-2000; TAD EXP; SNA CLA; JMP OZERO 017275 1044 017276 7650 017277 5310 395 017300 2044 ISZ EXP; TAD HORD; CLL RAR; DCA HORD 017301 1045 017302 7110 017303 3045 396 017304 1046 TAD LORD; RAR; DCA LORD; JMP L1 /MAKE MANT FRACTION 017305 7010 017306 3046 017307 5274 397 017310 1053 OZERO, TAD DEXP; DCA X; TAD 56; SZA CLA; JMP NOTEX2 017311 3047 017312 1056 017313 7640 017314 5320 398 017315 3053 DCA DEXP; TAD (-7; JMP EXPO1 017316 1375 017317 5324 399 017320 1053 NOTEX2, TAD DEXP; SMA; CLA CMA; TAD (-1 017321 7500 017322 7240 017323 1364 400 017324 1057 EXPO1, TAD 57; CIA; DCA FDIV 017325 7041 017326 3766 401 017327 1060 TAD 60; SNA; CMA; TAD FDIV; SMA; CLA CMA /WAS ERROR 017330 7450 017331 7040 017332 1766 017333 7500 017334 7240 402 017335 3771 DCA EXPMIN; JMP .+3 017336 5341 403 017337 1363 TAD (-20; JMS DIGOUT; ISZ EXPMIN; JMP .-3 /LEADING SPACES 017340 4762 017341 2771 017342 5337 404 017343 7346 CLA CLL CMA RTL; TAD NEGM; JMS DIGOUT /SIGN 017344 1052 017345 4762 405 017346 1053 TAD DEXP; SMA; JMP NDBP; CIA; JMS DECOUT; JMP DAP 017347 7500 017350 5761 017351 7041 017352 4760 017353 5757 406 NEGM=52 407 DEXP=53 408 MAXPL=54 409 410 017357 7400 *7400 017360 7505 017361 7406 017362 7474 017363 7760 017364 7777 017365 5627 017366 5700 017367 0007 017370 5663 017371 7541 017372 5636 017373 6000 017374 7560 017375 7771 017376 0010 017377 0006 411 017400 1060 DAP, TAD 60; SNA CLA; JMP NDAP; CLA CLL CMA RAL 017401 7650 017402 5211 017403 7344 412 017404 4274 JMS DIGOUT; JMP NDAP /DECIMAL POINT 017405 5211 413 017406 7200 NDBP, CLA; JMS DIGOUT; JMP DAP /ZERO BEFORE POINT 017407 4274 017410 5200 414 017411 1053 NDAP, TAD DEXP; SPA SNA CLA; JMP NZAP /ANY ZEROS AFTER POINT? 017412 7750 017413 5233 415 017414 1053 TAD DEXP; CMA; DCA DECOUT 017415 7040 017416 3305 416 017417 1060 TAD 60; CMA; DCA TEM+2; SKP 017420 7040 017421 3777 017422 7410 417 017423 4274 ZEROL, JMS DIGOUT; ISZ DECOUT; SKP; JMP ZAP /DO ZEROS AFTER POINT 017424 2305 017425 7410 017426 5231 418 017427 2777 ISZ TEM+2; JMP ZEROL 017430 5223 419 017431 1053 ZAP, TAD DEXP; CIA 017432 7041 420 017433 1060 NZAP, TAD 60; SMA SZA; JMS DECOUT /DIGITS AFTER POINT 017434 7540 017435 4305 421 017436 7200 CLA; TAD 56; SZA CLA; JMP EXFOUT 017437 1056 017440 7640 017441 5271 422 017442 4300 JMS CHOUT; "E; TAD X 017443 0305 017444 1047 423 017445 7740 SMA SZA CLA; CLL CML RTL; JMS CHOUT; "+ /+ OR - 017446 7126 017447 4300 017450 0253 424 017451 1047 TAD X; SPA; CIA; MQL DVI; 144; DCA X 017452 7510 017453 7041 017454 7427 017455 0144 017456 3047 425 017457 7501 MQA; JMS DIGOUT; TAD X; MQL DVI; 12 017460 4274 017461 1047 017462 7427 017463 0012 426 017464 3047 DCA X; MQA; JMS DIGOUT; TAD X; JMS DIGOUT 017465 7501 017466 4274 017467 1047 017470 4274 427 017471 1776 EXFOUT, TAD FOUTP; DCA DIGOUT; JMP I DIGOUT 017472 3274 017473 5674 428 429 017474 0000 DIGOUT, 0; JMS CHOUT; 260; JMP I DIGOUT 017475 4300 017476 0260 017477 5674 430 017500 0000 CHOUT, 0; TAD I CHOUT; JMS I 71; CLA CLL; JMP I CHOUT 017501 1700 017502 4471 017503 7300 017504 5700 431 432 017505 0000 DECOUT, 0; CIA; DCA DIGC /COUNT DIGITS 017506 7041 017507 3340 433 017510 1045 MUL10, TAD HORD; MQL MUY; 12; DCA TEM; MQA; DCA HORD 017511 7425 017512 0012 017513 3775 017514 7501 017515 3045 434 017516 1046 TAD LORD; MQL MUY; 12; CLL; TAD HORD; DCA HORD 017517 7425 017520 0012 017521 7100 017522 1045 017523 3045 435 017524 7501 MQA; DCA LORD; RAL; TAD TEM 017525 3046 017526 7004 017527 1775 436 017530 2054 ISZ MAXPL; JMP EXDOUT; CLA CMA; DCA MAXPL 017531 5334 017532 7240 017533 3054 437 017534 4274 EXDOUT, JMS DIGOUT; ISZ DIGC; JMP MUL10; JMP I DECOUT 017535 2340 017536 5310 017537 5705 438 017540 0000 DIGC, 0 439 440 017541 0000 EXPMIN, 0 /MAKE EXP <=0, ADJUSTING DEXP 441 017542 1044 TAD EXP; TAD (-2000; SPA SNA CLA; JMP I EXPMIN 017543 1374 017544 7750 017545 5741 442 017546 4773 JMS FDIV; TEN; CMA; TAD DEXP; DCA DEXP; JMP EXPMIN+1 017547 7107 017550 7040 017551 1053 017552 3053 017553 5342 443 444 *7560 445 017560 0000 FNEG, 0; CLA; TAD EXP; SZA; TAD (4000; DCA EXP; JMP I FNEG 017561 7200 017562 1044 017563 7440 017564 1372 017565 3044 017566 5760 446 447 017572 4000 $ 017573 5700 017574 6000 017575 7115 017576 7200 017577 7117 ABSFL 5331 AC1H 0041 AC1L 0042 ADD 6000 ADDOV 6024 ALIGN 6400 ARCTAN 5400 AT1 5125 AT2 5130 AT3 5133 AT4 5136 AT5 5141 AT6 5144 AT7 5147 ATN1 5420 ATPOS 5456 CHAR 0057 CHOUT 7500 CONT1 7037 COS 5252 DAP 7400 DECOUT 7505 DEXP 0053 DIG 7105 DIGC 7540 DIGIN 7120 DIGOUT 7474 DIV 6200 DIVL 6727 DIVOP 5717 DIVST 6735 DOLN 5502 DOMUL 6635 DONE 6453 DOSQR 6501 DPART 7011 DSWIT 0060 DV2 6235 DV3 6242 DV4 6263 DV5 6271 DV6 6301 DV7 6321 DVIAC 6751 DVIC 6752 DVIOP 6753 ENDEXP 7056 EX1 0040 EX2 5111 EX3 5114 EX4 5117 EX5 5122 EXDOUT 7534 EXFOUT 7471 EXP 0044 EXPMIN 7541 EXPO1 7324 EXPPOS 7240 FADD 5627 FDIV 5700 FEX1 5106 FGET 5600 FINPUT 7000 FINVD 5707 FINVS 5722 FIX 5040 FIX1 5072 FIX2 5073 FIX3 5074 FIXSH 5062 FLEXP 5257 FLINS 7076 FLO2 5770 FLOAT 5752 FMUL 5636 FMULT 6623 FNEG 7560 FONE 5346 FOUTP 7200 FPUT 5663 FRACD 7114 FSUB 5734 GETOP 5615 HORD 0045 IN 7144 ITER1 6530 JMSI 7101 L1 7274 LN 5460 LN1 5152 LN2 5155 LN3 5160 LN4 5163 LN5 5166 LN6 5171 LORD 0046 M1 5771 M2 6657 M3 6670 MAXPL 0054 MORE 7073 MP1 6651 MUL10 7510 MUYAC 6366 MUYC 6367 MUYL 6347 MUYOP 6365 MUYST 6355 NDAP 7411 NDBP 7406 NDIG 7012 NEGM 0052 NEGMKR 7112 NEXD 7046 NO 6745 NORM 6072 NOTDIG 7030 NOTEX1 7216 NOTEX2 7320 NOTPL 7133 NOTZ 6417 NZAP 7433 NZERO 6124 OPOS 7230 OZERO 7310 PERSW 7113 PIDTWO 5556 PLUSOP 6750 PSDDVI 6714 PSDMUY 6336 Q1 5225 Q2 5216 Q3 5221 Q4 5223 RESAC 6454 RESOP 6407 ROOTGO 6477 RSIGN 5341 SHFT 6447 SHFT1 6472 SHOP 6461 SIGN 0043 SIN1 5354 SIN2 5075 SIN3 5100 SIN4 5103 SINE 5200 SINFAN 5212 SPLIT 5317 SQCON1 6533 SQROOT 6600 SQUARE 5746 SUB 6034 SUBOK 6070 SUDOMQ 0033 TEM 7115 TEN 7107 TOSMAL 5067 TWODPI 5351 X 0047 XORSGN 5645 YES 6734 ZAP 7431 ZEROL 7423