📄 hyperbolic.asl
字号:
01CD 228 .AsinH:: ;ln(x+sqrt(x^2+1)) x belong R
+ 229
01CD F5 00 230 lda0 SignX ;x=|x|
01CF F9 00 231 sta0 .Buf1
01D1 F3 00 232 lda #0h
01D3 F9 00 233 sta0 SignX
01D5 20 00 00 234 call .X_trans_Buf
01D8 20 00 00 235 call .ClrY
01DB F3 01 236 lda #01h
01DD F9 06 237 sta0 OperandY+6
01DF F3 05 238 lda #05h
01E1 F9 00 239 sta0 PointY
01E3 20 00 00 240 call Subtration
01E6 F5 00 241 lda0 SignZ
01E8 A7 01 242 cmpe #01h
01EA 06 02 32 243 brz .GetXtoZ
01ED 20 00 00 244 call .Buf_trans_X
01F0 F5 00 245 lda0 PointX
01F2 AB 9D 246 suba #9dh
01F4 05 01 FE 247 brnc .NormalAsinh
01F7 F5 00 248 lda0 PointX
01F9 AB E0 249 suba #0e0h ;<=exp^32
01FB 05 02 29 250 brnc .AsinHXisBigNum
01FE 251 .NormalAsinh:
01FE 20 00 00 252 call .XSqu
0201 20 00 00 253 call .ClrX
0204 20 00 00 254 call .Put_1_to_OperandX
0207 20 00 00 255 call .Z_trans_Y
020A 20 00 00 256 call Addition
020D 20 00 00 257 call .Z_trans_X
0210 20 00 00 258 call .Squ
0213 20 00 00 259 call .Buf_trans_X
0216 20 00 00 260 call .Z_trans_Y
0219 261 .Bignumsin::
0219 20 00 00 262 call Addition
021C 20 00 00 263 call .Z_trans_X
021F 20 00 00 264 call Ln
0222 F5 00 265 lda0 .Buf1 ;X's SignX
0224 F9 00 266 sta0 SignZ
0226 02 02 35 267 br .EndAsinh
0229 268 .AsinHXisBigNum:
0229 20 00 00 269 call .Buf_trans_X
022C 20 00 00 270 call .Buf_trans_Y
022F 02 02 19 271 br .Bignumsin
0232 272 .GetXtoZ:
0232 20 00 00 273 call .Buf_trans_Z
0235 274 .EndAsinh:
0235 24 275 ret
+ 276 ;===========================================
0236 277 .AcosH:: ;ln(x+sqrt(x^2-1)) x>=1
0236 20 00 00 278 call .X_trans_Buf
0239 20 00 00 279 call .ClrY
023C F3 01 280 lda #01h
023E FD 06 281 sta OperandY+.InpLength-2
0240 F3 00 282 lda #0h
0242 FD 00 283 sta SignY
0244 FD 00 284 sta PointY
0246 20 00 00 285 call .Buf_trans_X
0249 20 00 00 286 call Subtration
024C F1 00 287 lda SignZ
024E A7 01 288 cmpe #01h
0250 06 02 92 289 brz .ErrorInvCosHInput
0253 F5 00 290 lda0 PointX
0255 AB 9D 291 suba #9dh
0257 05 02 61 292 brnc .NormalAcosh
025A F5 00 293 lda0 PointX
025C AB E0 294 suba #0e0h ;<=exp^32
025E 05 02 89 295 brnc .AcosHXisBigNum
0261 296 .NormalAcosh:
0261 20 00 00 297 call .XSqu
0264 20 00 00 298 call .Put_1_to_OperandX
0267 F3 01 299 lda #01h
0269 FD 00 300 sta SignX
026B 20 00 00 301 call .Z_trans_Y
026E 20 00 00 302 call Addition
0271 20 00 00 303 call .Z_trans_X
0274 20 00 00 304 call .Squ
0277 20 00 00 305 call .Buf_trans_X
027A 20 00 00 306 call .Z_trans_Y
027D 307 .Bignumcos:
027D 20 00 00 308 call Addition
0280 20 00 00 309 call .Z_trans_X
0283 20 00 00 310 call Ln
0286 02 02 96 311 br .EndInvCosH
0289 312 .AcosHXisBigNum:
0289 20 00 00 313 call .Buf_trans_X
028C 20 00 00 314 call .Buf_trans_Y
028F 02 02 7D 315 br .Bignumcos
0292 316 .ErrorInvCosHInput:
0292 F3 01 317 lda #01h
0294 FD 00 318 sta ErrorFlag
0296 319 .EndInvCosH:
0296 24 320 ret
+ 321 ;===========================================
0297 322 .AtanH:: ;-1<x<1 ; 1/2(ln(1+x)-ln(1-x))
0297 20 00 00 323 call .X_trans_Buf
029A 20 00 00 324 call .X_trans_Z
029D 20 00 00 325 call .DelPoint
02A0 F1 06 326 lda OperandZ+.InpLength-2
02A2 A7 00 327 cmpe #0h
02A4 07 02 E7 328 brnz .ErrorInvTanHInput
02A7 20 00 00 329 call .Put_1_to_OperandX
02AA 20 00 00 330 call .Buf_trans_Y
02AD 20 00 00 331 call Subtration
02B0 20 00 00 332 call .Z_trans_X
02B3 20 00 00 333 call Ln
02B6 20 00 00 334 call .Z_trans_B
02B9 20 00 00 335 call .Put_1_to_OperandX
02BC 20 00 00 336 call .Buf_trans_Y
02BF 20 00 00 337 call Addition
02C2 20 00 00 338 call .Z_trans_X
02C5 20 00 00 339 call Ln
02C8 20 00 00 340 call .B_trans_Y
02CB 20 00 00 341 call .Z_trans_X
02CE 20 00 00 342 call Subtration
02D1 20 00 00 343 call .ClrY
02D4 F3 02 344 lda #02h
02D6 FD 06 345 sta OperandY+.InpLength-2
02D8 F3 00 346 lda #0h
02DA FD 00 347 sta SignY
02DC FD 00 348 sta PointY
02DE 20 00 00 349 call .Z_trans_X
02E1 20 00 00 350 call Division
02E4 02 02 EB 351 br .EndInvTanH
02E7 352 .ErrorInvTanHInput:
02E7 F3 01 353 lda #01h
02E9 FD 00 354 sta ErrorFlag
02EB 355 .EndInvTanH:
02EB 24 356 ret
+ 357 ;-------------------------------------------
02EC 358 .CkXsize:
02EC 20 00 00 359 call .ClrY
02EF F3 07 360 lda #07h
02F1 F9 00 361 sta0 PointY
02F3 F3 23 362 lda #23h
02F5 F9 00 363 sta0 OperandY
02F7 F3 02 364 lda #02h
02F9 F9 01 365 sta0 OperandY+1
02FB F3 58 366 lda #58h
02FD F9 02 367 sta0 OperandY+2
02FF F3 50 368 lda #50h
0301 F9 03 369 sta0 OperandY+3
0303 F3 93 370 lda #93h
0305 F9 04 371 sta0 OperandY+4
0307 20 00 00 372 call Subtration
030A F5 00 373 lda0 SignZ
030C A7 00 374 cmpe #0h
030E 07 03 15 375 brnz .EndXsize
0311 F3 01 376 lda #01h
0313 F9 00 377 sta0 ErrorFlag
0315 378 .EndXsize:
0315 24 379 ret
+
+Symbol Table
+
+ 2 .AcosH 0236 GR
+ 2 .AcosHXisBigNum 0289 R
+ 2 .Ans1 01AC R
+ 2 .Ans_1 01BF R
+ 2 .AsinH 01CD GR
+ 2 .AsinHXisBigNum 0229 R
+ 2 .AtanH 0297 GR
+ .B_trans_X **** GX
+ .B_trans_Y **** GX
+ 2 .Bignumcos 027D R
+ 2 .Bignumsin 0219 GR
+ .Buf1 **** GX
+ .Buf_trans_X **** GX
+ .Buf_trans_Y **** GX
+ .Buf_trans_Z **** GX
+ 2 .CkXsize 02EC R
+ .ClrX **** GX
+ .ClrY **** GX
+ 2 .CosCondition1 00D4 R
+ 2 .CosCondition2 00F2 R
+ 2 .CosH 0097 GR
+ .DelPoint **** GX
+ 2 .DoTanh 016B R
+ 2 .EndAsinh 0235 R
+ 2 .EndCosh 0109 R
+ 2 .EndInvCosH 0296 R
+ 2 .EndInvTanH 02EB R
+ 2 .EndSinH 0096 R
+ 2 .EndTanH 01CC R
+ 2 .EndXsize 0315 R
+ 2 .ErrorInvCosHInput 0292 R
+ 2 .ErrorInvTanHInput 02E7 R
+ 2 .GetBufToZ 0093 R
+ 2 .GetXtoZ 0232 R
+ .InpLength = 0008
+ 2 .NormalAcosh 0261 R
+ 2 .NormalAsinh 01FE R
+ .Put_1_to_OperandX **** GX
+ 2 .SinCondition1 0058 R
+ 2 .SinCondition2 0076 R
+ 2 .SinH 0000 GR
+ .Squ **** GX
+ 2 .TanH 010A GR
+ .XSqu **** GX
+ .X_trans_B **** GX
+ .X_trans_Buf **** GX
+ .X_trans_Z **** GX
+ .Z_trans_B **** GX
+ .Z_trans_Buf **** GX
+ .Z_trans_X **** GX
+ .Z_trans_Y **** GX
+ Addition **** GX
+ Division **** GX
+ ErrorFlag **** GX
+ Ex **** GX
+ Ln **** GX
+ Multiplation **** GX
+ OperandX **** GX
+ OperandY **** GX
+ OperandZ **** GX
+ PointX **** GX
+ PointY **** GX
+ SignX **** GX
+ SignY **** GX
+ SignZ **** GX
+ Subtration **** GX
+
+
+Area Table
+
+ 0 . size 0 flags 0
+ 1 Hyperbolic_data size 0 flags 2
+ 2 Hyperbolic_code size 316 flags 1
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -