include "hdr1.html"; ?>
| Line | Address | Object Code | Label | F1 | N1 | B | F2 | N2 | Comments | Check |
|---|---|---|---|---|---|---|---|---|---|---|
| 1 | 0 | ; tape2/math1.t2 | ||||||||
| 2 | 0 | ;--------------- | ||||||||
| 3 | 0 | ; RPower, raise number to real power, using exp(ln(Link1) * arg1) | ||||||||
| 4 | 0 | ; | ||||||||
| 5 | 0 | Math:: | ; | |||||||
| 6 | 0 | ; | ||||||||
| 7 | 0 | ; scratch data area : these words may be used by other | ||||||||
| 8 | 0 | ; routines, unrelated to what goes on here | ||||||||
| 9 | 0 | ; | ||||||||
| 10 | 0 | =7241 | ||||||||
| 11 | 7241 | 0000000000000 | .SLink: | +0 | ; return address for Series subroutine | |||||
| 12 | 7242 | 0000000000000 | .work1: | +0 | ; used by Series and Sqrt as temp | |||||
| 13 | 7243 | 0000000000000 | .work2: | +0 | ; used by Exp, Series and Sqrt as temp | |||||
| 14 | 7244 | 0000000000000 | .work3: | +0 | ; used by Series & Sqrt as temp | |||||
| 15 | 7245 | 0000000000000 | .work4: | +0 | ; used by Series & ArcSin as temp | |||||
| 16 | 7246 | .coeffp: | ; | |||||||
| 17 | 7246 | 0000000000000 | +0 | ; used by Series to reference table | ||||||
| 18 | 7247 | 0000000000000 | .arg: | +0 | ; used by most rtnes as main argument | |||||
| 19 | 7248 | 0000000000000 | +0 | ; not knowingly referenced! | ||||||
| 20 | 7249 | 0000000000000 | .work5: | +0 | ; used by most rtnes as temp | |||||
| 21 | 7250 | ; | ||||||||
| 22 | 7250 | =7104 | ||||||||
| 23 | 7104 | ; | ||||||||
| 24 | 7104 | RPower: | ; | |||||||
| 25 | 7104 | 0600015 | lod | Link1 | ; | @7104 | ||||
| 26 | 7104+ | 1156006 | jz | L7174P | ; | |||||
| 27 | 7105 | calln | , | ; | @7105 | |||||
| 27+1 | 7105 | 7300065116002 | lnk | Link1 | : | jmp | LogSub | |||
| 28 | 7106 | 1460016 | fmu | arg1 | ; | @7106 | ||||
| 29 | 7106+ | 0000000 | o00 | 0 | ; | |||||
| 30 | 7107 | calln | , | ; | @7107 | |||||
| 30+1 | 7107 | 7300065000041 | lnk | Link1 | : | jmp | ExpEnt | |||
| 31 | 7108 | 1000000 | jmp | Return | ; | @7108 | ||||
| 32 | 7108+ | ; | ||||||||
| 33 | 7108+ | 0000000 | o00 | 0 | ; | |||||
| 34 | 7109 | =7170+ | ||||||||
| 35 | 7170+ | ; | ||||||||
| 36 | 7170+ | LogSub: | ; | |||||||
| 37 | 7170+ | 1136003 | jn | .LSerr | ;negative value->error | |||||
| 38 | 7171 | 1000042 | jmp | LogEnt | ;call real log | @7171 | ||||
| 39 | 7171+ | ; | ||||||||
| 40 | 7171+ | .LSerr: | ; | |||||||
| 41 | 7171+ | 0600001 | lod | T2Link | ;restore return address | |||||
| 42 | 7172 | 0340015 | stc | Link1 | ; | @7172 | ||||
| 43 | 7172+ | 1016321 | jmp | .LnErr | ;then report error | |||||
| 44 | 7173 | ; | ||||||||
| 45 | 7173 | =7174+ | ||||||||
| 46 | 7174+ | L7174P: | ; | |||||||
| 47 | 7174+ | 0120016 | sub | arg1 | ; | |||||
| 48 | 7175 | 1135370 | jn | Round.1 | ; | @7175 | ||||
| 49 | 7175+ | 1116003 | jmp | .LSerr | ;report error | |||||
| 50 | 7176 | ; | ||||||||
| 51 | 7176 | =7190 | ||||||||
| 52 | 7190 | ; exp(x) | ||||||||
| 53 | 7190 | ; | ||||||||
| 54 | 7190 | ;Exp:: | ||||||||
| 55 | 7190 | .ExpErr: | ; | |||||||
| 56 | 7190 | 0616567 | lod | Msg10 | ;'Exp error' | @7190 | ||||
| 57 | 7190+ | 1016165 | jmp | outerror0 | ; | |||||
| 58 | 7191 | Exp: | ; | |||||||
| 59 | 7191 | 0416117 | sto | .arg | ; | @7191 | ||||
| 60 | 7191+ | 1456151 | fna | FP176.06 | ;=176.06 (ish) | |||||
| 61 | 7192 | 1036026 | jn | .ExpErr | ; | @7192 | ||||
| 62 | 7192+ | 0616117 | lod | .arg | ; | |||||
| 63 | 7193 | 1416151 | fad | FP176.06 | ;=176.06 (ish) | @7193 | ||||
| 64 | 7193+ | 1036044 | jn | .ExpZero | ; | |||||
| 65 | 7194 | 0616117 | lod | .arg | ; | @7194 | ||||
| 66 | 7194+ | 1476153 | fmu | FP1.4427 | ;=1.4427 (ish) | |||||
| 67 | 7195 | 0416113 | sto | .work2 | ; | @7195 | ||||
| 68 | 7195+ | 1416154 | fad | FP257.0 | ;=257.0 (just under) | |||||
| 69 | 7196 | 0416121 | sto | .work5 | ; | @7196 | ||||
| 70 | 7196+ | 0076155 | and | MantBits | ;=07777777777000 | |||||
| 71 | 7197 | 2570507200446 | sbs | .work5 | / | sra | 294 | ; | @7197 | |
| 72 | 7198 | 0136204 | sub | K256 | ;=256 | @7198 | ||||
| 73 | 7198+ | 0416121 | sto | .work5 | ; | |||||
| 74 | 7199 | 1540000 | flt | 4096 | ; | @7199 | ||||
| 75 | 7199+ | 1436113 | fsb | .work2 | ; | |||||
| 76 | 7200 | 0416117 | sto | .arg | ; | @7200 | ||||
| 77 | 7200+ | 0616042 | lod | .ExpCon | ; | |||||
| 78 | 7201 | calln | , | ; | @7201 | |||||
| 78+1 | 7201 | 7370445016074 | lnk | Math.SLink | : | jmp | Series.1 | |||
| 79 | 7202 | .ExpCon: | ; | |||||||
| 80 | 7202 | 0116121 | add | .work5 | ; | @7202 | ||||
| 81 | 7202+ | 0016231 | o00 | Ptab1 | ;in-line param? | |||||
| 82 | 7203 | RetClr: | ; | |||||||
| 83 | 7203 | 1060052 | jo | retlnk1 | ; | @7203 | ||||
| 84 | 7203+ | 1000052 | jmp | retlnk1 | ; | |||||
| 85 | 7204 | ; | ||||||||
| 86 | 7204 | .ExpZero: | ; | |||||||
| 87 | 7204 | 0140000 | cla | 0 | ; | @7204 | ||||
| 88 | 7204+ | 1016043 | jmp | RetClr | ; | |||||
| 89 | 7205 | ;-------------------------------------------------------------------- | ||||||||
| 90 | 7205 | ;Sin:: | ||||||||
| 91 | 7205 | .SinErr: | ; | |||||||
| 92 | 7205 | 0616570 | lod | Msg11 | ;'Sine Error' | @7205 | ||||
| 93 | 7205+ | 1016165 | jmp | outerror0 | ; | |||||
| 94 | 7206 | ; | ||||||||
| 95 | 7206 | ; sin(x) | ||||||||
| 96 | 7206 | ; | ||||||||
| 97 | 7206 | Sin: | ; | |||||||
| 98 | 7206 | 1476070 | fmu | FP0.6366 | ;=0.6366 (ish) | @7206 | ||||
| 99 | 7206+ | 0416117 | sto | .arg | ; | |||||
| 100 | 7207 | 0556121 | cls | .work5 | ; | @7207 | ||||
| 101 | 7207+ | 0076203 | and | K511 | ;=0777 | |||||
| 102 | 7208 | 0176160 | bus | K286 | ;exponent=+30 | @7208 | ||||
| 103 | 7208+ | 1036045 | jn | .SinErr | ; | |||||
| 104 | 7209 | 0176161 | bus | K30 | ;=30 | @7209 | ||||
| 105 | 7209+ | 1136061 | jn | .S2 | ; | |||||
| 106 | 7210 | 0216117 | exa | .arg | ; | @7210 | ||||
| 107 | 7210+ | 0076155 | and | MantBits | ;=07777777777000 | |||||
| 108 | 7211 | 1200001 | .Scon: | sra | 1 | ; | @7211 | |||
| 109 | 7211+ | 0016241 | o00 | Ptab2 | ;=-5 | |||||
| 110 | 7212 | 0070477320000 | o00 | .arg | / | sll | 0 | ; | @7212 | |
| 111 | 7213 | clo | ; | @7213 | ||||||
| 111+1 | 7213 | 1176055 | jo | .1 | ||||||
| 111+2 | 7213+ | .1: | ; | |||||||
| 112 | 7213+ | 1320001 | sll | 1 | ; | |||||
| 113 | 7214 | 0456121 | inc | .work5 | ; | @7214 | ||||
| 114 | 7214+ | 1176057 | jo | .S1 | ; | |||||
| 115 | 7215 | 0556121 | cls | .work5 | ; | @7215 | ||||
| 116 | 7215+ | .S1: | ; | |||||||
| 117 | 7215+ | 0116204 | add | K256 | ;=256 | |||||
| 118 | 7216 | 1400000 | fad | 0 | ; | @7216 | ||||
| 119 | 7216+ | 1056043 | jz | RetClr | ; | |||||
| 120 | 7217 | 0416117 | sto | .arg | ; | @7217 | ||||
| 121 | 7217+ | .S2: | ; | |||||||
| 122 | 7217+ | 0616053 | lod | .Scon | ; | |||||
| 123 | 7218 | calln | , | ; | @7218 | |||||
| 123+1 | 7218 | 7370445016071 | lnk | Math.SLink | : | jmp | Series | |||
| 124 | 7219 | 1476117 | fmu | .arg | ; | @7219 | ||||
| 125 | 7219+ | 0216121 | exa | .work5 | ; | |||||
| 126 | 7220 | 1056066 | jz | .S3 | ; | @7220 | ||||
| 127 | 7220+ | 0140000 | cla | 0 | ; | |||||
| 128 | 7221 | 1436121 | fsb | .work5 | ; | @7221 | ||||
| 129 | 7221+ | 1016043 | jmp | RetClr | ; | |||||
| 130 | 7222 | ; | ||||||||
| 131 | 7222 | .S3: | ; | |||||||
| 132 | 7222 | 0616121 | lod | .work5 | ; | @7222 | ||||
| 133 | 7222+ | 1016043 | jmp | RetClr | ; | |||||
| 134 | 7223 | ;-------------------------------------------------------------------- | ||||||||
| 135 | 7223 | ; cos(x) | ||||||||
| 136 | 7223 | ; =sin(x+pi/2) | ||||||||
| 137 | 7223 | ; | ||||||||
| 138 | 7223 | Cos: | ; | |||||||
| 139 | 7223 | 1456156 | fna | PIby2 | ;=1.570796326 (pi/2) | @7223 | ||||
| 140 | 7223+ | 1016046 | jmp | Sin | ; | |||||
| 141 | 7224 | ;-------------------------------------------------------------------- | ||||||||
| 142 | 7224 | ; Series: approximate function using polynomial? series | ||||||||
| 143 | 7224 | ; | ||||||||
| 144 | 7224 | ;Series:: | ||||||||
| 145 | 7224 | ; table of co-efficients in Acc, | ||||||||
| 146 | 7224 | ; main argument in .arg | ||||||||
| 147 | 7224 | ; | ||||||||
| 148 | 7224 | FP0.6366: | ; | |||||||
| 149 | 7224 | 2427630156400 | +02427630156400 | ;0.6366197728 = 2.0/PI | @7224 | |||||
| 150 | 7225 | ; | ||||||||
| 151 | 7225 | Series: | ; | |||||||
| 152 | 7225 | 2070472600001 | sto | .coeffp | / | lod | 1 | ;save coeff ptr, load coeff[1] | @7225 | |
| 153 | 7226 | 0416115 | sto | .work4 | ;save it | @7226 | ||||
| 154 | 7226+ | 0616117 | lod | .arg | ;load argument | |||||
| 155 | 7227 | 1476117 | fmu | .arg | ;square argument | @7227 | ||||
| 156 | 7227+ | 1016076 | jmp | .P2 | ;skip alternate entry | |||||
| 157 | 7228 | ; | ||||||||
| 158 | 7228 | ; alternate entry | ||||||||
| 159 | 7228 | Series.1: | ; | |||||||
| 160 | 7228 | 2070472600001 | sto | .coeffp | / | lod | 1 | ;save coeff ptr, load coeff[1] | @7228 | |
| 161 | 7229 | 0416115 | sto | .work4 | ;save it | @7229 | ||||
| 162 | 7229+ | 0616117 | lod | .arg | ;load argument | |||||
| 163 | 7230 | .P2: | ; | |||||||
| 164 | 7230 | 1476157 | fmu | FP4.0 | ;=4.0 | @7230 | ||||
| 165 | 7230+ | 1436162 | fsb | FP2.0 | ;=2.0 | |||||
| 166 | 7231 | 0416114 | sto | .work3 | ; | @7231 | ||||
| 167 | 7231+ | 0556113 | cls | .work2 | ; | |||||
| 168 | 7232 | 0070472600000 | o00 | .coeffp | / | lod | 0 | ; | @7232 | |
| 169 | 7233 | .P3: | ; | |||||||
| 170 | 7233 | 0216115 | exa | .work4 | ; | @7233 | ||||
| 171 | 7233+ | 0216113 | exa | .work2 | ; | |||||
| 172 | 7234 | 0416112 | sto | .work1 | ; | @7234 | ||||
| 173 | 7234+ | 0616113 | lod | .work2 | ; | |||||
| 174 | 7235 | 1476114 | fmu | .work3 | ; | @7235 | ||||
| 175 | 7235+ | 1436112 | fsb | .work1 | ; | |||||
| 176 | 7236 | 2270473400001 | inc | .coeffp | / | fad | 1 | ; | @7236 | |
| 177 | 7237 | 0256115 | exc | .work4 | ; | @7237 | ||||
| 178 | 7237+ | 1036101 | jn | .P3 | ; | |||||
| 179 | 7238 | 0616115 | lod | .work4 | ; | @7238 | ||||
| 180 | 7238+ | 1436112 | fsb | .work1 | ; | |||||
| 181 | 7239 | 1056110 | jz | .P4 | ; | @7239 | ||||
| 182 | 7239+ | 0116210 | add | N1 | ;=-1 | |||||
| 183 | 7240 | .P4: | ; | |||||||
| 184 | 7240 | 0070447000001 | o00 | .SLink | / | jmp | 1 | ; | @7240 | |
| 185 | 7241 | ;-------------------------------------------------------------------- | ||||||||
| 186 | 7241 | ; tape2/math2.t2 | ||||||||
| 187 | 7241 | ;--------------- | ||||||||
| 188 | 7241 | ; ln(x) | ||||||||
| 189 | 7241 | ; | ||||||||
| 190 | 7241 | =7377 | ||||||||
| 191 | 7377 | ;Ln:: | ||||||||
| 192 | 7377 | .LnErr: | ; | |||||||
| 193 | 7377 | 0616571 | lod | Msg12 | ;'log error' | @7377 | ||||
| 194 | 7377+ | 1016165 | jmp | outerror0 | ; | |||||
| 195 | 7378 | ; | ||||||||
| 196 | 7378 | Ln: | ; | |||||||
| 197 | 7378 | 1036321 | jn | .LnErr | ; | @7378 | ||||
| 198 | 7378+ | 1056321 | jz | .LnErr | ; | |||||
| 199 | 7379 | 0416117 | sto | .arg | ; | @7379 | ||||
| 200 | 7379+ | 0076203 | and | K511 | ;=511 | |||||
| 201 | 7380 | 0136204 | sub | K256 | ;=256 | @7380 | ||||
| 202 | 7380+ | 0116210 | add | N1 | ;=-1 | |||||
| 203 | 7381 | 0376117 | o17 | .arg | ; | @7381 | ||||
| 204 | 7381+ | 1436206 | fsb | FP1 | ;=1.0 | |||||
| 205 | 7382 | 0216117 | exa | .arg | ; | @7382 | ||||
| 206 | 7382+ | 1540000 | flt | 4096 | ; | |||||
| 207 | 7383 | 1476164 | fmu | FP0.6931 | ;=0.6931 | @7383 | ||||
| 208 | 7383+ | 0416121 | sto | .work5 | ; | |||||
| 209 | 7384 | 0616330 | .Lcon: | lod | .Lcon | ; | @7384 | |||
| 210 | 7384+ | 0016250 | o00 | Ptab3 | ; | |||||
| 211 | 7385 | calln | , | ; | @7385 | |||||
| 211+1 | 7385 | 7370445016074 | lnk | Math.SLink | : | jmp | Series.1 | |||
| 212 | 7386 | 1416121 | fad | .work5 | ; | @7386 | ||||
| 213 | 7386+ | 1016043 | jmp | RetClr | ; | |||||
| 214 | 7387 | ;-------------------------------------------------------------------- | ||||||||
| 215 | 7387 | ;Tan:: | ||||||||
| 216 | 7387 | .TErr: | ; | |||||||
| 217 | 7387 | 0616572 | lod | Msg13 | ;'TAN ERROR' | @7387 | ||||
| 218 | 7387+ | 1016165 | jmp | outerror0 | ; | |||||
| 219 | 7388 | ; | ||||||||
| 220 | 7388 | ; tan(x) | ||||||||
| 221 | 7388 | ; | ||||||||
| 222 | 7388 | Tan: | ; | |||||||
| 223 | 7388 | 1476070 | fmu | FP0.6366 | ;=0.6366 (ish) | @7388 | ||||
| 224 | 7388+ | 1476162 | fmu | FP2.0 | ;=2.0 | |||||
| 225 | 7389 | 0416117 | sto | .arg | ; | @7389 | ||||
| 226 | 7389+ | 0076203 | and | K511 | ;=0777 | |||||
| 227 | 7390 | 0176160 | bus | K286 | ;exponent=+30 | @7390 | ||||
| 228 | 7390+ | 1036333 | jn | .TErr | ; | |||||
| 229 | 7391 | 0556121 | cls | .work5 | ; | @7391 | ||||
| 230 | 7391+ | 0176221 | bus | K29 | ;=29 | |||||
| 231 | 7392 | 1136345 | jn | .T1 | ; | @7392 | ||||
| 232 | 7392+ | 0116204 | add | K256 | ;=256 | |||||
| 233 | 7393 | 0376117 | o17 | .arg | ; | @7393 | ||||
| 234 | 7393+ | 1200001 | sra | 1 | ; | |||||
| 235 | 7394 | 0070477317401 | o00 | .arg | / | sla | 7937 | ; | @7394 | |
| 236 | 7395 | clo | ; | @7395 | ||||||
| 236+1 | 7395 | 1176343 | jo | .1 | ||||||
| 236+2 | 7395+ | .1: | ; | |||||||
| 237 | 7395+ | 1320001 | sll | 1 | ; | |||||
| 238 | 7396 | 0116204 | add | K256 | ;=256 | @7396 | ||||
| 239 | 7396+ | 0416117 | sto | .arg | ; | |||||
| 240 | 7397 | 1076353 | jo | .T2 | ; | @7397 | ||||
| 241 | 7397+ | .T1: | ; | |||||||
| 242 | 7397+ | 0616352 | lod | .Tcon | ; | |||||
| 243 | 7398 | calln | , | ; | @7398 | |||||
| 243+1 | 7398 | 7370445016071 | lnk | Math.SLink | : | jmp | Series | |||
| 244 | 7399 | 1476117 | fmu | .arg | ; | @7399 | ||||
| 245 | 7399+ | 0216121 | exa | .work5 | ; | |||||
| 246 | 7400 | 1056066 | jz | .S3 | ; | @7400 | ||||
| 247 | 7400+ | 0140000 | cla | 0 | ; | |||||
| 248 | 7401 | 1436206 | fsb | FP1 | ;=1.0 | @7401 | ||||
| 249 | 7401+ | 1516121 | fdv | .work5 | ; | |||||
| 250 | 7402 | 1016043 | .Tcon: | jmp | RetClr | ; | @7402 | |||
| 251 | 7402+ | 0016263 | o00 | Ptab4 | ||||||
| 252 | 7403 | ; | ||||||||
| 253 | 7403 | .T2: | ; | |||||||
| 254 | 7403 | 0076155 | and | MantBits | ;=07777777777000 | @7403 | ||||
| 255 | 7403+ | 1056355 | jz | .T3 | ; | |||||
| 256 | 7404 | 0456121 | inc | .work5 | ; | @7404 | ||||
| 257 | 7404+ | 1116345 | jmp | .T1 | ; | |||||
| 258 | 7405 | ; | ||||||||
| 259 | 7405 | .T3: | ; | |||||||
| 260 | 7405 | 0616230 | lod | MaxInt | ;=03777777777777 | @7405 | ||||
| 261 | 7405+ | 1016043 | jmp | RetClr | ; | |||||
| 262 | 7406 | ;-------------------------------------------------------------------- | ||||||||
| 263 | 7406 | ; | ||||||||
| 264 | 7406 | .Magic: | ; | |||||||
| 265 | 7406 | 0314631463146 | +0314631463146 | ;0x0666666666 | @7406 | |||||
| 266 | 7407 | ; | ||||||||
| 267 | 7407 | ; arctan(x) | ||||||||
| 268 | 7407 | ; | ||||||||
| 269 | 7407 | ArcTan: | ; | |||||||
| 270 | 7407 | 0416117 | sto | .arg | ; | @7407 | ||||
| 271 | 7407+ | .AT1: | ; | |||||||
| 272 | 7407+ | 1440000 | fna | 0 | ; | |||||
| 273 | 7408 | 1136357 | jn | .AT1 | ;abs(x) | @7408 | ||||
| 274 | 7408+ | 0556121 | cls | .work5 | ; | |||||
| 275 | 7409 | 1436206 | fsb | FP1 | ;=1.0 | @7409 | ||||
| 276 | 7409+ | 1036367 | jn | .AT4 | ; | |||||
| 277 | 7410 | 0616206 | lod | FP1 | ;=1.0 | @7410 | ||||
| 278 | 7410+ | 1516117 | fdv | .arg | ; | |||||
| 279 | 7411 | 1440000 | fna | 0 | ; | @7411 | ||||
| 280 | 7411+ | 0416117 | sto | .arg | ; | |||||
| 281 | 7412 | 1036366 | jn | .AT2 | ; | @7412 | ||||
| 282 | 7412+ | 0616156 | lod | PIby2 | ;=1.570796326 (pi/2) | |||||
| 283 | 7413 | 1440000 | fna | 0 | ; | @7413 | ||||
| 284 | 7413+ | 1116366 | jmp | .AT3 | ; | |||||
| 285 | 7414 | ; | ||||||||
| 286 | 7414 | .AT2: | ; | |||||||
| 287 | 7414 | 0616156 | lod | PIby2 | ;=1.570796326 (pi/2) | @7414 | ||||
| 288 | 7414+ | .AT3: | ; | |||||||
| 289 | 7414+ | 0416121 | sto | .work5 | ; | |||||
| 290 | 7415 | .AT4: | ; | |||||||
| 291 | 7415 | 0616367 | lod | .AT4 | ; | @7415 | ||||
| 292 | 7415+ | 0016274 | o00 | Ptab5 | ; | |||||
| 293 | 7416 | calln | , | ; | @7416 | |||||
| 293+1 | 7416 | 7370445016071 | lnk | Math.SLink | : | jmp | Series | |||
| 294 | 7417 | 1476117 | fmu | .arg | ; | @7417 | ||||
| 295 | 7417+ | 1416121 | fad | .work5 | ; | |||||
| 296 | 7418 | 1016043 | jmp | RetClr | ; | @7418 | ||||
| 297 | 7418+ | ; | ||||||||
| 298 | 7418+ | 0000000 | o00 | 0 | ; | |||||
| 299 | 7419 | ;-------------------------------------------------------------------- | ||||||||
| 300 | 7419 | ; sqrt(a) - extract square root of real number | ||||||||
| 301 | 7419 | ; | ||||||||
| 302 | 7419 | ;Sqrt:: | ||||||||
| 303 | 7419 | Sqrt: | ; | |||||||
| 304 | 7419 | 1036414 | jn | .SQerr | ;sqrt error if < 0.0 | @7419 | ||||
| 305 | 7419+ | 1056043 | jz | RetClr | ;return if = 0.0 | |||||
| 306 | 7420 | 0416113 | sto | .work2 | ; | @7420 | ||||
| 307 | 7420+ | 0076203 | and | K511 | ;=0777 mask off exponent | |||||
| 308 | 7421 | 0136412 | sub | .255 | ; | @7421 | ||||
| 309 | 7421+ | 1200001 | sra | 1 | ; | |||||
| 310 | 7422 | 0416114 | sto | .work3 | ; | @7422 | ||||
| 311 | 7422+ | 1320001 | sll | 1 | ; | |||||
| 312 | 7423 | 0176113 | bus | .work2 | ; | @7423 | ||||
| 313 | 7423+ | 0416113 | sto | .work2 | ; | |||||
| 314 | 7424 | 0116210 | add | N1 | ;=-1, divide by 2 | @7424 | ||||
| 315 | 7424+ | 1416413 | fad | .4368 | ; | |||||
| 316 | 7425 | 0416112 | sto | .work1 | ; | @7425 | ||||
| 317 | 7425+ | 0616113 | lod | .work2 | ; | |||||
| 318 | 7426 | 1516112 | fdv | .work1 | ; | @7426 | ||||
| 319 | 7426+ | 1416112 | fad | .work1 | ; | |||||
| 320 | 7427 | 0116210 | add | N1 | ;=-1, divide by 2 | @7427 | ||||
| 321 | 7427+ | 0416112 | sto | .work1 | ; | |||||
| 322 | 7428 | 0616113 | lod | .work2 | ; | @7428 | ||||
| 323 | 7428+ | 1516112 | fdv | .work1 | ; | |||||
| 324 | 7429 | 1416112 | fad | .work1 | ; | @7429 | ||||
| 325 | 7429+ | 0116210 | add | N1 | ;=-1, divide by 2 | |||||
| 326 | 7430 | 0416112 | sto | .work1 | ; | @7430 | ||||
| 327 | 7430+ | 0616113 | lod | .work2 | ; | |||||
| 328 | 7431 | 1516112 | fdv | .work1 | ; | @7431 | ||||
| 329 | 7431+ | 1416112 | fad | .work1 | ; | |||||
| 330 | 7432 | 0116210 | add | N1 | ;=-1, divide by 2 | @7432 | ||||
| 331 | 7432+ | 0116114 | add | .work3 | ; | |||||
| 332 | 7433 | 1016043 | jmp | RetClr | ;return answer | @7433 | ||||
| 333 | 7433+ | ; | ||||||||
| 334 | 7433+ | 0000000 | o00 | 0 | ; | |||||
| 335 | 7434 | ; | ||||||||
| 336 | 7434 | 0000000000377 | .255: | +255 | ; | @7434 | ||||
| 337 | 7435 | 3375103775377 | .4368: | +03375103775377 | ;0.4368000003 | @7435 | ||||
| 338 | 7436 | ; | ||||||||
| 339 | 7436 | .SQerr: | ; | |||||||
| 340 | 7436 | 0616566 | lod | Msg9 | ;'SQRT ERROR' | @7436 | ||||
| 341 | 7436+ | 1016165 | jmp | outerror0 | ; | |||||
| 342 | 7437 | ;-------------------------------------------------------------------- | ||||||||
| 343 | 7437 | ; arcsin(x) | ||||||||
| 344 | 7437 | ; | ||||||||
| 345 | 7437 | ;ArcSin:: | ||||||||
| 346 | 7437 | ArcSin: | ; | |||||||
| 347 | 7437 | 0556121 | cls | .work5 | ; | @7437 | ||||
| 348 | 7437+ | 1440000 | fna | 0 | ; | |||||
| 349 | 7438 | .AS1: | ; | |||||||
| 350 | 7438 | 0416117 | sto | .arg | ; | @7438 | ||||
| 351 | 7438+ | 1476163 | fmu | Root2 | ;=1.414213561 | |||||
| 352 | 7439 | 0216117 | exa | .arg | ; | @7439 | ||||
| 353 | 7439+ | 1136420 | jn | .AS2 | ; | |||||
| 354 | 7440 | 1440000 | fna | 0 | ; | @7440 | ||||
| 355 | 7440+ | .AS2: | ; | |||||||
| 356 | 7440+ | 1416206 | fad | FP1 | ;=1.0 | |||||
| 357 | 7441 | 1036445 | jn | .ASerr | ; | @7441 | ||||
| 358 | 7441+ | 0616117 | lod | .arg | ; | |||||
| 359 | 7442 | 1476117 | fmu | .arg | ; | @7442 | ||||
| 360 | 7442+ | 1436206 | fsb | FP1 | ;=1.0 | |||||
| 361 | 7443 | 1036436 | jn | .AS8 | ; | @7443 | ||||
| 362 | 7443+ | 1016010 | jmp | .AS3 | ; | |||||
| 363 | 7444 | =7176 | ||||||||
| 364 | 7176 | .AS3: | ; | |||||||
| 365 | 7176 | 0600016 | lod | arg1 | ; | @7176 | ||||
| 366 | 7176+ | 1460016 | fmu | arg1 | ; | |||||
| 367 | 7177 | 0136210 | sub | N1 | ;=-1 | @7177 | ||||
| 368 | 7177+ | 1116441 | jmp | .AS4 | ; | |||||
| 369 | 7178 | ; | ||||||||
| 370 | 7178 | =7457+ | ||||||||
| 371 | 7457+ | .AS4: | ; | |||||||
| 372 | 7457+ | 1456162 | fna | FP2.0 | ;=2.0 | |||||
| 373 | 7458 | 0416115 | sto | .work4 | ; | @7458 | ||||
| 374 | 7458+ | 1016424 | jmp | .AS5 | ; | |||||
| 375 | 7459 | =7444 | ||||||||
| 376 | 7444 | .AS5: | ; | |||||||
| 377 | 7444 | 0600015 | lod | Link1 | ; | @7444 | ||||
| 378 | 7444+ | 0216115 | exa | .work4 | ; | |||||
| 379 | 7445 | calln | , | ; | @7445 | |||||
| 379+1 | 7445 | 7300065016373 | lnk | Link1 | : | jmp | Sqrt | |||
| 380 | 7446 | 0216117 | exa | .arg | ; | @7446 | ||||
| 381 | 7446+ | 1136430 | jn | .AS6 | ; | |||||
| 382 | 7447 | 0140000 | cla | 0 | ; | @7447 | ||||
| 383 | 7447+ | 1436117 | fsb | .arg | ; | |||||
| 384 | 7448 | 0416117 | sto | .arg | ; | @7448 | ||||
| 385 | 7448+ | .AS6: | ; | |||||||
| 386 | 7448+ | 0616115 | lod | .work4 | ; | |||||
| 387 | 7449 | 0400015 | sto | Link1 | ; | @7449 | ||||
| 388 | 7449+ | 0616436 | lod | .AS8 | ; | |||||
| 389 | 7450 | calln | , | ; | @7450 | |||||
| 389+1 | 7450 | 7370445016071 | lnk | Math.SLink | : | jmp | Series | |||
| 390 | 7451 | 1476117 | fmu | .arg | ; | @7451 | ||||
| 391 | 7451+ | 1036435 | jn | .AS7 | ; | |||||
| 392 | 7452 | 1436156 | fsb | PIby2 | ;=1.570796326 (pi/2) | @7452 | ||||
| 393 | 7452+ | 1116440 | jmp | .AS9 | ; | |||||
| 394 | 7453 | ; | ||||||||
| 395 | 7453 | .AS7: | ; | |||||||
| 396 | 7453 | 1416156 | fad | PIby2 | ;=1.570796326 (pi/2) | @7453 | ||||
| 397 | 7453+ | 1116440 | jmp | .AS9 | ; | |||||
| 398 | 7454 | ; | ||||||||
| 399 | 7454 | .AS8: | ; | |||||||
| 400 | 7454 | 0616436 | lod | .AS8 | ; | @7454 | ||||
| 401 | 7454+ | 0016307 | o00 | Ptab6 | ; | |||||
| 402 | 7455 | calln | , | ; | @7455 | |||||
| 402+1 | 7455 | 7370445016071 | lnk | Math.SLink | : | jmp | Series | |||
| 403 | 7456 | 1476117 | fmu | .arg | ; | @7456 | ||||
| 404 | 7456+ | .AS9: | ; | |||||||
| 405 | 7456+ | 1456121 | fna | .work5 | ; | |||||
| 406 | 7457 | 1016043 | jmp | RetClr | ; | @7457 | ||||
| 407 | 7457+ | ; | ||||||||
| 408 | 7457+ | =7459 | ||||||||
| 409 | 7459 | ;-------------------------------------------------------------------- | ||||||||
| 410 | 7459 | ; arccos(x) | ||||||||
| 411 | 7459 | ; | ||||||||
| 412 | 7459 | ArcCos: | ; | |||||||
| 413 | 7459 | 0416121 | sto | .work5 | ; | @7459 | ||||
| 414 | 7459+ | 0616156 | lod | PIby2 | ;=1.570796326 (pi/2) | |||||
| 415 | 7460 | 0216121 | exa | .work5 | ; | @7460 | ||||
| 416 | 7460+ | 1016416 | jmp | .AS1 | ; | |||||
| 417 | 7461 | ; | ||||||||
| 418 | 7461 | .ASerr: | ; | |||||||
| 419 | 7461 | 0616573 | lod | Msg14 | ;'ARCSIN ERROR' | @7461 | ||||
| 420 | 7461+ | 1016165 | jmp | outerror0 | ; | |||||
| 421 | 7462 | ;-------------------------------------------------------------------- | ||||||||
| 422 | 7462 | ; | ||||||||