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

📄 postfixvalume.asl

📁 这是用台湾KingB 8位单片机开发的科学计算器程序
💻 ASL
📖 第 1 页 / 共 5 页
字号:
051F F3 00          665 		lda     #0h		
0521 FC 28          666 		sta     PP 
0523 20 00 00       667 		call	.NPR	;NPR		
0526 02 07 82       668 		br	.MarkDP2
0529                669 .NCRD:
0529 F3 00          670 		lda     #0h
052B FC 28          671 		sta     PP 
052D 20 00 00       672 		call	.NCR	;NCR		
0530 02 07 82       673 		br	.MarkDP2
0533                674 .REGD:
0533 20 00 00       675 		call	.X_trans_LRX
0536 20 00 00       676 		call	.Y_trans_LRY
0539 20 16 36       677 		call	.ChkOverExp50
053C F5 00          678 		lda0	ErrorFlag
053E A7 00          679 		cmpe	#0h
0540 07 07 82       680 		brnz	.MarkDP2
0543 20 00 00       681 		call	.LRY_trans_Y
0546 20 00 00       682 		call	.Y_trans_X
0549 20 16 36       683 		call	.ChkOverExp50
054C F5 00          684 		lda0	ErrorFlag
054E A7 00          685 		cmpe	#0h
0550 07 07 82       686 		brnz	.MarkDP2
0553 20 00 00       687 		call	.LRX_trans_X
0556 20 00 00       688 		call	.LRY_trans_Y	
0559 F3 01          689 		lda	#01h
055B FC 28          690 		sta	PP
055D F1 00          691 		lda	StateFlag
055F CB 07          692 		anda	#07h		 		
0561 A7 01          693 		cmpe	#01h
0563 06 05 F6       694 		brz	.DoLin
0566 A7 02          695 		cmpe	#02h
0568 06 06 0C       696 		brz	.DoLog
056B A7 03          697 		cmpe	#03h
056D 06 06 32       698 		brz	.DoExp
0570 A7 04          699 		cmpe	#04h
0572 06 06 58       700 		brz	.DoPwr
0575 A7 05          701 		cmpe	#05h
0577 06 06 87       702 		brz	.DoInv	
057A A7 06          703 		cmpe	#06h
057C 06 06 AD       704 		brz	.DoQuad				
057F 02 07 82       705 		br	.MarkDP2
+                   706 ;;;;----------------------------------------		
0582                707 .LRCnterInp:
0582 F3 00          708 		lda	#>StateFlag
0584 FC 28          709 		sta	PP
0586 F1 00          710 		lda	StateFlag
0588 CB 40          711 		anda	#40h
058A A7 40          712 		cmpe	#40h
058C 06 05 BB       713 		brz	.SDCnterInp
058F F3 03          714 		lda	#03h
0591 FC 28          715 		sta	PP
0593 F3 00          716 		lda	#0h
0595 FC 21          717 		sta	DP
0597                718 .SimeCK:		
0597 F2             719 		lda	i
0598 A7 00          720 		cmpe	#0h
059A 06 05 A1       721 		brz	.D0lrSimeCnt
059D 18             722 		incdp
059E 02 05 97       723 		br	.SimeCK	
05A1                724 .D0lrSimeCnt:	
05A1 38             725 		decdp	
05A2 F2             726 		lda	i
05A3 FC 21          727 		sta	DP
05A5 F3 02          728 		lda	#02h
05A7 FC 28          729 		sta	PP
05A9 F2             730 		lda	i	
05AA A7 B0          731 		cmpe	#0b0h
05AC 07 05 EF       732 		brnz	.SimeERROR	
05AF 20 00 00       733 		call	.Y_trans_X
05B2 20 15 53       734 		call	.SimeCounter
05B5 20 00 00       735 		call	.I_trans_Z		
05B8 02 07 82       736 		br	.MarkDP2
05BB                737 .SDCnterInp:
05BB 20 00 00       738 		call	.X_trans_I
05BE 20 00 00       739 		call	.X_trans_LRX
05C1 20 00 00       740 		call	.Y_trans_LRY						
05C4 20 00 00       741 		call	.LRY_trans_Y
05C7 20 00 00       742 		call	.Y_trans_X
05CA 20 00 00       743 		call	.ClrY
05CD F5 00          744 		lda0	SignX
05CF F9 00          745 		sta0	SignY
05D1 F3 01          746 		lda	#01h
05D3 F9 06          747 		sta0	OperandY+6
05D5 F5 00          748 		lda0	SignX		
05D7 A7 01          749 		cmpe	#01h
05D9 07 05 E0       750 		brnz	.6$	
05DC F3 00          751 		lda	#0h
05DE F9 00          752 		sta0	SignY		
05E0                753 .6$:		
05E0 20 00 00       754 		call	Addition
05E3 20 00 00       755 		call	.Z_trans_X			
05E6 20 15 53       756 		call	.SimeCounter
05E9 20 00 00       757 		call	.I_trans_Z
05EC 02 07 82       758 		br	.MarkDP2
05EF                759 .SimeERROR:
05EF F3 02          760 		lda	#02h
05F1 F9 00          761 		sta0	ErrorFlag
05F3 02 07 82       762 		br	.MarkDP2		
+                   763 ;-------------------------------------------
+                   764 ;		Input 	Regdata
+                   765 ;-------------------------------------------
+                   766 
05F6                767 .DoLin:
05F6 20 00 00       768 		call	.X_trans_I		
05F9 F5 00          769 		lda0	.KeyPos
05FB A7 DF          770 		cmpe	#0dfh
05FD 07 06 03       771 		brnz	.LinInp
0600 02 06 C3       772 		br	.DoLRCLmode
0603                773 .LinInp:		
0603 20 00 00       774 		call	LR_Prepare
0606 20 00 00       775 		call	.I_trans_Z
0609 02 07 82       776 		br	.MarkDP2		
+                   777 		
060C                778 .DoLog:
060C F3 00          779 		lda	#0h
060E FC 28          780 		sta	PP
0610 20 00 00       781 		call	.X_trans_I
0613 20 00 00       782 		call	.Y_trans_B		
0616 20 00 00       783 		call	Ln	
0619 20 00 00       784 		call	.Z_trans_X
061C 20 00 00       785 		call	.B_trans_Y
061F F5 00          786 		lda0	.KeyPos
0621 A7 DF          787 		cmpe	#0dfh
0623 07 06 29       788 		brnz	.LogInp				
0626 02 06 C3       789 		br	.DoLRCLmode
0629                790 .LogInp:					 
0629 20 00 00       791 		call	LR_Prepare
062C 20 00 00       792 		call	.I_trans_Z
062F 02 07 82       793 		br	.MarkDP2		
0632                794 .DoExp:
0632 F3 00          795 		lda	#0h
0634 FC 28          796 		sta	PP
0636 20 00 00       797 		call	.X_trans_I		
0639 20 00 00       798 		call	.Y_trans_X
063C 20 00 00       799 		call	Ln	
063F 20 00 00       800 		call	.Z_trans_Y
0642 20 00 00       801 		call	.I_trans_X
0645 F5 00          802 		lda0	.KeyPos
0647 A7 DF          803 		cmpe	#0dfh
0649 07 06 4F       804 		brnz	.ExpInp	
064C 02 06 C3       805 		br	.DoLRCLmode	
064F                806 .ExpInp:	 
064F 20 00 00       807 		call	LR_Prepare
0652 20 00 00       808 		call	.I_trans_Z				
0655 02 07 82       809 		br	.MarkDP2
0658                810 .DoPwr:
0658 F3 00          811 		lda	#0h
065A FC 28          812 		sta	PP	
065C 20 00 00       813 		call	.X_trans_I
065F 20 00 00       814 		call	.Y_trans_B	
0662 20 00 00       815 		call	Ln	
0665 20 00 00       816 		call	.Z_trans_S			
0668 20 00 00       817 		call	.B_trans_X
066B 20 00 00       818 		call	Ln	
066E 20 00 00       819 		call	.Z_trans_Y		
0671 20 00 00       820 		call	.S_trans_X
0674 F5 00          821 		lda0	.KeyPos
0676 A7 DF          822 		cmpe	#0dfh
0678 07 06 7E       823 		brnz	.PwrInp
067B 02 06 C3       824 		br	.DoLRCLmode
067E                825 .PwrInp:
067E 20 00 00       826 		call	LR_Prepare
0681 20 00 00       827 		call	.I_trans_Z				
0684 02 07 82       828 		br	.MarkDP2
0687                829 .DoInv:		
0687 F3 00          830 		lda	#0h
0689 FC 28          831 		sta	PP	
068B 20 00 00       832 		call	.X_trans_I
068E 20 00 00       833 		call	.Y_trans_B	
0691 20 00 00       834 		call	.ReciX	
0694 20 00 00       835 		call	.Z_trans_X
0697 20 00 00       836 		call	.B_trans_Y
069A F5 00          837 		lda0	.KeyPos
069C A7 DF          838 		cmpe	#0dfh
069E 07 06 A4       839 		brnz	.InvInpt
06A1 02 06 C3       840 		br	.DoLRCLmode
06A4                841 .InvInpt:		
06A4 20 00 00       842 		call	LR_Prepare
06A7 20 00 00       843 		call	.I_trans_Z
06AA 02 07 82       844 		br	.MarkDP2
06AD                845 .DoQuad:
06AD 20 00 00       846 		call	.X_trans_I		
06B0 F5 00          847 		lda0	.KeyPos
06B2 A7 DF          848 		cmpe	#0dfh
06B4 07 06 BA       849 		brnz	.QuadInp
06B7 02 06 C3       850 		br	.DoLRCLmode
06BA                851 .QuadInp:		
06BA 20 00 00       852 		call	QR_Prepare
06BD 20 00 00       853 		call	.I_trans_Z
06C0 02 07 82       854 		br	.MarkDP2
06C3                855 .DoLRCLmode:		
06C3 20 00 00       856 		call	.ClrX
06C6 F3 02          857 		lda	#02h
06C8 F9 06          858 		sta0	OperandX+6			
06CA 20 15 53       859 		call	.SimeCounter
06CD 02 07 82       860 		br	.MarkDP2											
+                   861 ;-------------------------------------------
06D0                862 .PercentEqu:
06D0 38             863 		decdp
06D1 F2             864 		lda	i
06D2 FC 21          865 		sta	DP
06D4 F3 02          866 		lda	#02h
06D6 FC 28          867 		sta	PP
06D8 F2             868 		lda	i
06D9 A7 A4          869 		cmpe	#0a4h
06DB 06 06 F0       870 		brz	.Pecadd
06DE A7 A5          871 		cmpe	#0a5h
06E0 06 06 FA       872 		brz	.Pecdec
06E3 A7 A6          873 		cmpe	#0a6h
06E5 06 07 04       874 		brz	.Pecmul
06E8 A7 A7          875 		cmpe	#0a7h
06EA 06 07 20       876 		brz	.Pecdiv	
06ED 02 03 E2       877 		br	.IsEqu		;.EndPercentEqu
06F0                878 .Pecadd:
06F0 F3 00          879 		lda	#0h
06F2 FC 28          880 		sta	PP
06F4 20 00 00       881 		call	.Percent_Add
06F7 02 07 2A       882 		br	.EndPercentEqu
06FA                883 .Pecdec:
06FA F3 00          884 		lda	#0h
06FC FC 28          885 		sta	PP
06FE 20 00 00       886 		call	.Percent_Dec
0701 02 07 2A       887 		br	.EndPercentEqu
0704                888 .Pecmul:
0704 F3 00          889 		lda	#0h
0706 FC 28          890 		sta	PP
0708 20 00 00       891 		call	.X_trans_B
070B 20 00 00       892 		call	.Percent_Mul
070E 20 00 00       893 		call	.B_trans_X
0711 F3 00          894 		lda	#>.SetFlag
0713 FC 28          895 		sta	PP
0715 F1 00          896 		lda	.SetFlag
0717 CB 7F          897 		anda	#~80h
0719 DB 80          898 		ora	#80h
071B FD 00          899 		sta	.SetFlag
071D 02 07 2A       900 		br	.EndPercentEqu
0720                901 .Pecdiv:
0720 F3 00          902 		lda	#0h
0722 FC 28          903 		sta	PP
+                   904 				 
0724 20 00 00       905 		call	.Percent_Div		 		
0727 02 07 2A       906 		br	.EndPercentEqu
072A                907 .EndPercentEqu:
072A 02 07 82       908 		br	.MarkDP2		
+                   909 ;-------------------------------------------
072D                910 .ClearrMem::
072D F3 01          911 		lda	#01h
072F FC 28          912 		sta	PP
0731 F1 00          913 		lda	StateFlag			
0733 CB 88          914 		anda	#88h			;;COMP && basen
0735 07 07 3F       915 		brnz	.CompClr	
0738 F1 00          916 		lda	StateFlag
073A CB 47          917 		anda	#47h
073C 06 07 48       918 		brz	.EndClearMem
+                   919 		;call	QR_Scl
+                   920 		;call	.MCL 
+                   921 		;br	.EndClearMem
073F                922 .CompClr:	
+                   923 			
073F 20 00 00       924 		call	.MCL
0742 20 00 00       925 		call	.ClrZ
0745 20 00 00       926 		call	.Z_trans_I
+                   927 		;call	QR_Scl	
0748                928 .EndClearMem:		
0748 24             929 		ret
+                   930 ;-------------------------------------------		
0749                931 .MarkDP1:
0749 F3 00          932 		lda	#0h
074B F9 00          933 	 	sta0	.ErrorCnt
074D F5 00          934 		lda0	ErrorFlag
074F A7 00          935 		cmpe	#0h
0751 07 07 BA       936 		brnz	.EndCalcVal
0754 F3 02          937 		lda	#02h
0756 FC 28          938 		sta	PP
0758 F5 7E          939 		lda0	.P2DP
075A FC 21          940 		sta	DP
075C F5 7D          941 		lda0	.P3DP
075E FE             942 		sta	i		
075F 20 08 0D       943 		call	.StoResult
0762 F5 7C          944                 lda0	.IndexDP
0764 FC 21          945                 sta     DP
0766 F3 03          946                 lda     #03h
0768 FC 28          947                 sta     PP
076A F3 FF          948                 lda    #0ffh
076C FE             949                 sta    i               
076D 18             950                 incdp
076E F5 7E          951                 lda0	.P2DP
0770 FE             952                 sta	i
0771 38             953                 decdp
0772 F0 21          954                 lda	DP
0774 F9 7C          955                 sta0	.IndexDP
0776 F5 7E          956                 lda0	.P2DP
0778 1F             957                 inca
0779 F9 7E          958                 sta0	.P2DP 
077B F3 01          959                 lda	#01h
077D F9 00          960 		sta0	.FinFlag               
077F 02 07 BA       961                 br     .EndCalcVal 						
0782                962 .MarkDP2:
0782 F3 00          963 		lda	#0h
0784 F9 00          964 	 	sta0	.ErrorCnt	
0786 F5 00          965 		lda0	ErrorFlag
0788 A7 00          966 		cmpe	#0h
078A 07 07 BA       967 		brnz	.EndCalcVal
078D F3 02          968 		lda	#02h
078F FC 28          969 		sta	PP
0791 F5 7E          970 		lda0	.P2DP
0793 FC 21          971 		sta	DP
0795 F5 7D          972 		lda0	.P3DP
0797 FE             973 		sta	i		
0798 20 08 0D       974 		call	.StoResult
079B F5 7C          975                 lda0	.IndexDP
079D FC 21          976                 sta     DP
079F F3 03          977                 lda     #03h
07A1 FC 28          978                 sta     PP
07A3 F3 FF          979                 lda    #0ffh
07A5 FE             980                 sta    i
07A6 18             981                 incdp
07A7 F3 FF          982                 lda    #0ffh
07A9 FE             983                 sta    i
07AA 18             984                 incdp
07AB F5 7E          985                 lda0	.P2DP
07AD FE             986                 sta	i               
07AE F5 7E          987                 lda0	.P2DP
07B0 1F             988                 inca
07B1 F9 7E          989                 sta0	.P2DP                 
07B3 F3 01          990                 lda	#01h
07B5 F9 00          991 		sta0	.FinFlag             
07B7 02 07 BA       992                 br     .EndCalcVal 							
07BA                993 .EndCalcVal:	
+                   994 		
+                   995 					
07BA 24             996 		ret
+                   997 ;-------------------------------------------		

⌨️ 快捷键说明

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