⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 hyperbolic.asl

📁 这是用台湾KingB 8位单片机开发的科学计算器程序
💻 ASL
📖 第 1 页 / 共 2 页
字号:
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 + -