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

📄 postfixvalume.asl

📁 这是用台湾KingB 8位单片机开发的科学计算器程序
💻 ASL
📖 第 1 页 / 共 5 页
字号:
0274 F5 7B          332 		lda0	.PsValDP
0276 FC 21          333 		sta	DP
0278 F2             334 		lda	i				
0279 F9 01          335 		sta0	.DataBuf+1
027B A7 A0          336 		cmpe	#0a0h
027D 06 07 BA       337 		brz	.EndCalcVal
0280 A7 B0          338 		cmpe	#0b0h
0282 06 02 E3       339 		brz	.StartCalcV
0285 A7 B4          340 		cmpe	#0b4h
0287 06 02 D3       341 		brz	.CheckNowMode
028A A7 B6          342 		cmpe	#0b6h
028C 06 07 BA       343 		brz	.EndCalcVal
028F A7 AE          344 		cmpe	#0aeh		;07h	ae
0291 06 02 E3       345 		brz	.StartCalcV		
0294 20 00 00       346 		call	.CheckPari
0297 F5 00          347 		lda0	.AfterPari
0299 A7 00          348 		cmpe	#0h
029B 06 02 E3       349 		brz	.StartCalcV
029E A7 01          350 		cmpe	#01h
02A0 06 07 BA       351 		brz	.EndCalcVal
02A3 A7 02          352 		cmpe	#02h
02A5 06 07 BA       353 		brz	.EndCalcVal
02A8 A7 03          354 		cmpe	#03h
02AA 06 02 E3       355 		brz	.StartCalcV
02AD A7 04          356 		cmpe	#04h
02AF 06 02 E3       357 		brz	.StartCalcV
02B2 A7 05          358 		cmpe	#05h
02B4 06 02 E3       359 		brz	.StartCalcV
02B7 A7 07          360 		cmpe	#07h		;07hae
02B9 06 02 E3       361 		brz	.StartCalcV
02BC A7 08          362 		cmpe	#08h		;07h
02BE 06 02 E3       363 		brz	.StartCalcV
02C1 A7 09          364 		cmpe	#09h
02C3 06 02 E3       365 		brz	.StartCalcV
02C6 A7 0B          366 		cmpe	#0bh
02C8 06 02 E3       367 		brz	.StartCalcV
02CB A7 0C          368 		cmpe	#0ch
02CD 06 02 E3       369 		brz	.StartCalcV		
02D0 02 07 BA       370 		br 	.EndCalcVal
02D3                371 .CheckNowMode:
02D3 F3 01          372 		lda	#01h		;only x','y   cann't use comp mode
02D5 FC 28          373 		sta	PP
02D7 F1 00          374 		lda	StateFlag
02D9 CB 07          375 		anda	#07h
02DB A7 00          376 		cmpe	#0h
02DD 07 02 E3       377 		brnz	.StartCalcV
02E0 02 07 BA       378 		br 	.EndCalcVal	
02E3                379 .StartCalcV:	
02E3 F5 7C          380 		lda0	.IndexDP
02E5 FC 21          381 		sta	DP			
02E7 F3 03          382 		lda	#03h
02E9 FC 28          383 		sta	PP		
02EB F2             384 		lda	i
02EC F9 7B          385 		sta0	.PsValDP	
02EE F5 7B          386 		lda0	.PsValDP
02F0 A7 00          387 		cmpe	#0h
02F2 06 07 BA       388 		brz	.EndCalcVal			
02F5 A7 F0          389 		cmpe	#0f0h
02F7 04 04 5E       390 		brc	.P3DPX
02FA F3 02          391 		lda	#02h
02FC FC 28          392 		sta	PP
02FE F5 7B          393 		lda0	.PsValDP
0300 FC 21          394 		sta	DP
0302 F2             395 		lda	i
0303 F9 01          396 		sta0	.DataBuf+1
0305 F9 00          397 		sta0	.DataBuf
0307 A7 A0          398 		cmpe	#0a0h
0309 06 03 19       399 		brz	.SaveX		 
030C 20 00 00       400 		call	.CheckPari
030F 20 00 00       401 		call	.CheckMem
0312 F5 00          402 		lda0	.AfterPari
0314 A7 01          403 		cmpe	#01h
0316 06 03 26       404 		brz	.MemoryToX
0319                405 .SaveX:								
0319 20 08 B3       406 		call	.SaveToZ
031C F3 00          407 		lda     #0h
031E FC 28          408 		sta     PP
0320 20 00 00       409 		call	.Z_trans_R	;R store X		
0323 02 03 2F       410 		br	.GetY
0326                411 .MemoryToX:
0326 20 10 C4       412 		call	.MemoryToZ
0329 20 00 00       413 		call	.Z_trans_R
032C 02 03 2F       414 		br	.GetY			
+                   415 			
+                   416 ;=============		
032F                417 .GetY:	
032F F5 7C          418 		lda0	.IndexDP
0331 FC 21          419 		sta	DP
0333 F3 03          420 		lda	#03h
0335 FC 28          421 		sta	PP
0337 18             422 		incdp
0338 F2             423 		lda	i
0339 F9 7B          424 		sta0	.PsValDP
033B A7 00          425 		cmpe	#0h
033D 06 03 54       426 		brz	.NormalYmode		
0340 A7 F0          427 		cmpe	#0f0h
0342 04 04 6B       428 		brc	.P3DPY
0345 F3 02          429 		lda	#02h
0347 FC 28          430 		sta	PP
0349 F5 7B          431 		lda0	.PsValDP
034B FC 21          432 		sta	DP
034D F2             433 		lda	i
034E F9 01          434 		sta0	.DataBuf+1
0350 F9 00          435 		sta0	.DataBuf
0352 F9 00          436 		sta0	.Buf1
0354                437 .NormalYmode:				
0354 F5 7B          438 		lda0	.PsValDP
0356 A7 00          439 		cmpe	#0h
0358 06 07 BA       440 		brz	.EndCalcVal	
035B F5 00          441 		lda0	.Buf1
035D A7 B0          442 		cmpe	#0b0h
035F 06 03 B1       443 		brz	.CalcFunct56V
0362 A7 A0          444 		cmpe	#0a0h
0364 06 03 99       445 		brz	.SaveY		 
0367 F5 00          446 		lda0	.DataBuf
+                   447 		;cmpe	#0aah
+                   448 		;brz	.CalcDMS
0369 A7 AB          449 		cmpe	#0abh
036B 06 12 8F       450 		brz	.CalcDMS	
036E A7 AC          451 		cmpe	#0ach 
0370 06 12 8F       452 		brz	.CalcDMS	
0373 A7 AD          453 		cmpe	#0adh
0375 06 12 8F       454 		brz	.CalcDMS
0378 A7 B4          455 		cmpe	#0b4h
037A 06 03 B1       456 		brz	.CalcFunct56V	
037D 20 00 00       457 		call	.CheckPari		
0380 20 00 00       458 		call	.CheckMem
0383 F5 00          459 		lda0	.AfterPari
0385 A7 01          460 		cmpe	#01h
0387 06 03 A8       461 		brz	.MemoryToY		 
038A A7 06          462 		cmpe	#06h		;05h
038C 06 03 B1       463 		brz	.CalcFunct56V
038F A7 0A          464 		cmpe	#0ah
0391 06 03 B1       465 		brz	.CalcFunct56V
0394 A7 0B          466 		cmpe	#0bh
0396 06 03 B1       467 		brz	.CalcFunct56V 
0399                468 .SaveY:							
0399 20 08 B3       469 		call	.SaveToZ
039C F3 00          470 		lda     #0h
039E FC 28          471 		sta     PP
03A0 F9 07          472 		sta0	OperandY+7
03A2 20 00 00       473 		call	.Z_trans_Y		
03A5 02 03 BE       474 		br	.GetOPC	
03A8                475 .MemoryToY:
03A8 20 10 C4       476 		call	.MemoryToZ
03AB 20 00 00       477 		call	.Z_trans_Y		
03AE 02 03 BE       478 		br	.GetOPC	
03B1                479 .CalcFunct56V:
03B1 20 00 00       480 		call	.R_trans_X		 		
03B4 F3 00          481 		lda	#0h
03B6 F9 07          482 		sta0	OperandX+7
03B8 20 0A FE       483 		call	.ChoiceFunc		
03BB 02 07 49       484 		br 	.MarkDP1				
+                   485 ;=============			
03BE                486 .GetOPC:
+                   487 		
03BE 20 00 00       488 		call	.R_trans_X		 
03C1 F3 00          489 		lda	#0h
03C3 F9 07          490 		sta0	OperandX+7		 
03C5 F9 07          491 		sta0	OperandY+7
03C7 F5 7C          492 		lda0	.IndexDP
03C9 FC 21          493 		sta	DP
03CB F3 03          494 		lda	#03h
03CD FC 28          495 		sta	PP
03CF 18             496 		incdp
03D0 18             497 		incdp
03D1 F2             498 		lda	i
03D2 F9 7B          499 		sta0	.PsValDP
03D4 F5 00          500 		lda0	.KeyPos
03D6 A7 77          501 		cmpe	#77h		;%=
03D8 07 03 E2       502 		brnz	.IsEqu	
03DB 18             503 		incdp
03DC F2             504 		lda	i
03DD A7 00          505 		cmpe	#0h
03DF 06 06 D0       506 		brz	.PercentEqu
03E2                507 .IsEqu:								
03E2 F3 02          508 		lda	#02h
03E4 FC 28          509 		sta	PP
03E6 F5 7B          510 		lda0	.PsValDP
03E8 FC 21          511 		sta	DP										
03EA                512 .CalcOperand:				
03EA F2             513 		lda	i
03EB F9 00          514 		sta0	.Buf4	
03ED A7 A4          515 		cmpe	#0a4h
03EF 06 04 78       516 		brz	.DOadd
03F2 A7 DF          517 		cmpe	#0dfh
03F4 06 04 82       518 		brz	.DoSpadd	;.Doadd
03F7 A7 A5          519 		cmpe	#0a5h
03F9 06 04 A2       520 		brz	.DOdec
03FC A7 A6          521 		cmpe	#0a6h
03FE 06 04 AC       522 		brz	.DOmul
0401 A7 EC          523 		cmpe	#0ech	;LC *
0403 06 04 AC       524 		brz	.DOmul
0406 A7 CD          525 		cmpe	#0cdh
0408 06 04 AC       526 		brz	.DOmul
040B A7 DE          527 		cmpe	#0deh
040D 06 04 B6       528 		brz	.DOdiv
0410 A7 A7          529 		cmpe	#0a7h
0412 06 04 B6       530 		brz	.DOdiv
0415 A7 D3          531 		cmpe	#0d3h
0417 06 04 D8       532 		brz	.Pow_x_yD
041A A7 D7          533 		cmpe	#0d7h
041C 06 04 E5       534 		brz	.Pow_x_invyD
041F A7 D5          535 		cmpe	#0d5h
0421 06 05 1F       536 		brz	.NPRD
0424 A7 C9          537 		cmpe	#0c9h
0426 06 05 29       538 		brz	.NCRD
0429 A7 D0          539 		cmpe	#0d0h
042B 06 05 10       540 		brz	.DoPol
042E A7 D6          541 		cmpe	#0d6h
0430 06 05 19       542 		brz	.DoRec
0433 A7 AE          543 		cmpe	#0aeh
0435 06 04 78       544 		brz	.DOadd
0438 A7 B4          545 		cmpe	#0b4h
043A 06 05 33       546 		brz	.REGD
043D A7 B0          547 		cmpe	#0b0h
043F 06 05 82       548 		brz	.LRCnterInp
0442 A7 A1          549 		cmpe	#0a1h
0444 06 04 D2       550 		brz	.Doexp2
0447 A7 20          551 		cmpe	#20h
0449 06 04 F8       552 		brz	.DOand
044C A7 21          553 		cmpe	#21h
044E 06 04 FE       554 		brz	.DOor
0451 A7 22          555 		cmpe	#22h
0453 06 05 04       556 		brz	.DOxnor
0456 A7 23          557 		cmpe	#23h
0458 06 05 0A       558 		brz	.DOxor		
045B 02 07 82       559 		br      .MarkDP2
045E                560 .P3DPX:
045E 20 07 BB       561 		call	.P3dataToZ
0461 F3 00          562 		lda     #0h
0463 FC 28          563 		sta     PP  		
0465 20 00 00       564 		call	.Z_trans_R
0468 02 03 2F       565 		br	.GetY
046B                566 .P3DPY:
+                   567 		
+                   568 		
046B 20 07 BB       569 		call	.P3dataToZ
046E F3 00          570 		lda     #0h
0470 FC 28          571 		sta     PP  
0472 20 00 00       572 		call	.Z_trans_Y		
0475 02 03 BE       573 		br	.GetOPC	
+                   574 		
0478                575 .DOadd:
+                   576 	
+                   577                
+                   578 		;call	.GetDataLimit10	
0478 F3 00          579 		 lda     #0h
047A FC 28          580 		sta     PP 	
047C 20 00 00       581 		call    Addition		
047F 02 07 82       582 		br      .MarkDP2
0482                583 .DoSpadd:
0482 F3 00          584 		lda     #0h
0484 FC 28          585 		sta     PP 
0486 F5 00          586 		lda0	SignX
0488 89 00          587 		adda	SignY
048A CB 01          588 		anda	#01h		
048C F9 00          589 		sta0	.Buf1
048E F3 00          590 		lda	#0h
0490 F9 00          591 		sta0	SignY
0492 F9 00          592 		sta0	SignX
0494 F3 00          593 		lda     #0h
0496 FC 28          594 		sta     PP 		
0498 20 00 00       595 		call    Addition		
049B F5 00          596 		lda0	.Buf1
049D F9 00          597 		sta0	SignZ
049F 02 07 82       598 		br      .MarkDP2
04A2                599 .DOdec:
+                   600                 
+                   601 		;call	.GetDataLimit10
04A2 F3 00          602 		lda     #0h
04A4 FC 28          603 		sta     PP  
04A6 20 00 00       604 		call    Subtration		
04A9 02 07 82       605 		br      .MarkDP2
04AC                606 .DOmul:
04AC F3 00          607                 lda     #0h
04AE FC 28          608 		sta     PP
04B0 20 00 00       609 		call    Multiplation 
+                   610 		;call	.Carry		
04B3 02 07 82       611 		br      .MarkDP2
04B6                612 .DOdiv:
04B6 F3 00          613                 lda     #0h
04B8 FC 28          614 		sta     PP 		 		 
04BA 20 00 00       615 		call    Division
04BD F3 00          616 		lda	#>StateFlag
04BF FC 28          617 		sta	PP
04C1 F1 00          618 		lda	StateFlag
04C3 CB 08          619 		anda	#08h
04C5 06 07 82       620 		brz	.MarkDP2
04C8 20 00 00       621 		call	GetInt
04CB F3 00          622 		lda     #0h
04CD FC 28          623 		sta     PP 
+                   624 		;call	.Carry		
04CF 02 07 82       625 		br      .MarkDP2
04D2                626 .Doexp2:
04D2 20 00 00       627 		call	.Expp2
04D5 02 07 82       628 		br      .MarkDP2			
04D8                629 .Pow_x_yD:
04D8 F3 00          630 		lda     #0h
04DA FC 28          631 		sta     PP 		
04DC 20 00 00       632 		call	.Pow_x_y
04DF 20 00 00       633 		call	.CKNear_1		
04E2 02 07 82       634 		br	.MarkDP2
04E5                635 .Pow_x_invyD:
04E5 F3 00          636 		lda     #0h
04E7 FC 28          637 		sta     PP
04E9 20 00 00       638 		call	.Y_trans_Z
04EC 20 00 00       639 		call	.X_trans_Y
04EF 20 00 00       640 		call	.Z_trans_X			
04F2 20 00 00       641 		call	.Pow_x_invy		
04F5 02 07 82       642 		br	.MarkDP2
04F8                643 .DOand:
04F8 20 00 00       644 		call	LogicAnd		
04FB 02 07 82       645 		br	.MarkDP2
04FE                646 .DOor:
04FE 20 00 00       647 		call	LogicOr		
0501 02 07 82       648 		br	.MarkDP2		
0504                649 .DOxnor:
0504 20 00 00       650 		call	LogicXnor		
0507 02 07 82       651 		br	.MarkDP2		
050A                652 .DOxor:
050A 20 00 00       653 		call	LogicXor		
050D 02 07 82       654 		br	.MarkDP2		
+                   655 		
+                   656 		
0510                657 .DoPol:
0510 20 00 00       658 		call	.POL
0513 20 00 00       659 		call	.Z_trans_X
0516 02 07 82       660 		br	.MarkDP2
0519                661 .DoRec:		
0519 20 00 00       662 		call	.REC
051C 02 07 82       663 		br	.MarkDP2		
051F                664 .NPRD:

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -