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

📄 postfix.asl

📁 这是用台湾KingB 8位单片机开发的科学计算器程序
💻 ASL
📖 第 1 页 / 共 5 页
字号:
04C3 A7 AB          648 		cmpe	#.Degree
04C5 06 04 DF       649 		brz	.ClrDmsCntM
04C8 A7 AC          650 		cmpe	#.Minute
04CA 06 04 DF       651 		brz	.ClrDmsCntM
04CD A7 AD          652 		cmpe	#.Second
04CF 06 04 DF       653 		brz	.ClrDmsCntM
04D2 A7 AE          654 		cmpe	#0aeh
04D4 06 04 DF       655 		brz	.ClrDmsCntM
04D7 A7 B3          656 		cmpe	#.RC
04D9 06 04 E3       657 		brz	.MulNoDms
04DC 02 03 5C       658 		br	.SynErr
04DF                659 .ClrDmsCntM:
04DF F3 00          660 		lda	#0h
04E1 F9 00          661 		sta0	.DmsCount		
04E3                662 .MulNoDms:			 
04E3 F3 00          663 		lda	#0h
04E5 F9 00          664 		sta0	.PointFlag
04E7 F5 00          665 		lda0	.FractCount
04E9 A7 01          666 		cmpe	#01h
04EB 06 05 11       667 		brz	.AdjustOptmuldiv	;.AdjustOpt
04EE A7 02          668 		cmpe	#02h
04F0 06 04 AC       669 		brz	.ClrFractCntMul
04F3 F5 00          670 		lda0	.DmsCount
04F5 A7 00          671 		cmpe	#0h
04F7 07 04 B3       672 		brnz	.ClrDmsCnt		
04FA 02 0C 1D       673 		br	.PushStackCls;    .PushStack 
04FD                674 .AdjustOpt:
+                   675 		
04FD F3 03          676 		lda	#.STPP
04FF FC 28          677 		sta	PP
0501 F5 00          678 		lda0	.STDP
0503 FC 21          679 		sta	DP
0505 F2             680 		lda	i
0506 A7 B2          681 		cmpe	#.LC
0508 06 0C 1D       682 		brz	.PushStackCls
050B F3 DE          683 		lda	#0deh
050D FE             684 		sta	i		 
050E 02 0A 22       685 		br	.Sign
0511                686 .AdjustOptmuldiv:
0511 F5 00          687 		lda0	.FractTrsCnt
0513 A7 00          688 		cmpe	#0h
0515 07 0C 1D       689 		brnz	.PushStackCls
0518 F3 03          690 		lda	#.STPP
051A FC 28          691 		sta	PP
051C F5 00          692 		lda0	.STDP
051E FC 21          693 		sta	DP
0520                694 .ChangDFMul:		
0520 F2             695 		lda	i
0521 A7 B2          696 		cmpe	#.LC
0523 06 05 30       697 		brz	.SearchFract
0526 F3 DE          698 		lda	#0deh
0528 FE             699 		sta	i
0529 F3 00          700 		lda	#0h
052B F9 00          701 		sta0	.FractCount			 
052D 02 0C 1D       702 		br	.PushStackCls 
0530                703 .SearchFract:
0530 38             704 		decdp
0531 02 05 20       705 		br	.ChangDFMul					 
+                   706 ;-------------------------------------------
0534                707 .SetSignDec:
0534 F5 00          708 		lda0	.Buf1
0536 A7 DF          709 		cmpe	#0dfh
0538 06 05 40       710 		brz	.CheckFractCNT1	
053B A7 DE          711 		cmpe	#0deh
053D 07 05 4C       712 		brnz	.CKNormalsigndec
0540                713 .CheckFractCNT1:				
0540 F5 00          714 		lda0	.FractCount
0542 A7 01          715 		cmpe	#01h
0544 06 04 FD       716 		brz	.AdjustOpt
0547 A7 02          717 		cmpe	#02h
0549 06 04 A5       718 		brz	.ClrFractCnt
054C                719 .CKNormalsigndec:		
054C F5 00          720 		lda0	.DataBuf
054E F9 00          721 		sta0	Temp2		;.Buf2
0550 F5 00          722 		lda0	.INDP
0552 A7 01          723 		cmpe	#01h
0554 06 0A 22       724 		brz	.Sign
0557 F5 00          725 		lda0	.Buf1
0559 A7 A4          726 		cmpe	#.ADD
055B 06 0A 22       727 		brz	.Sign
055E A7 A5          728 		cmpe	#.DEC
0560 06 0A 22       729 		brz	.Sign
0563 A7 A6          730 		cmpe	#.Mul
0565 06 0A 22       731 		brz	.Sign
0568 A7 A7          732 		cmpe	#.Div
056A 06 0A 22       733 		brz	.Sign
056D A7 B2          734 		cmpe	#.LC
056F 06 0A 22       735 		brz	.Sign
0572 A7 A8          736 		cmpe	#.Negative
0574 06 0A 22       737 		brz	.Sign
0577 A7 B4          738 		cmpe	#.Comma
0579 06 0A 22       739 		brz	.Sign
057C A7 B0          740 		cmpe	#0b0h	;----5
057E 06 0A 22       741 		brz	.Sign
0581 F5 00          742 		lda0	.Buf1
0583 F9 00          743 		sta0	.DataBuf
0585 F9 01          744 		sta0	.DataBuf+1
0587 20 0A 64       745 		call	.CheckPari
058A 20 0E F1       746 		call	.CheckMem
058D F5 00          747 		lda0	Temp2
058F F9 00          748 		sta0	.DataBuf
0591 F5 00          749 		lda0	.AfterPari
0593 A7 01          750 		cmpe	#01h
0595 06 03 5C       751 		brz	.SynErr
0598 A7 02          752 		cmpe	#02h
059A 06 03 5C       753 		brz	.SynErr
059D A7 05          754 		cmpe	#05h		;CNR
059F 06 0A 22       755 		brz	.Sign
05A2 A7 06          756 		cmpe	#06h		;05h
05A4 06 0A 22       757 		brz	.Sign			 
05A7 A7 09          758 		cmpe	#09h
05A9 06 0A 22       759 		brz	.Sign
05AC A7 0A          760 		cmpe	#0ah
05AE 06 0C 20       761 		brz	.PushStack	;.SynErr;	.Sign
05B1 A7 0B          762 		cmpe	#0bh
05B3 06 0A 22       763 		brz	.Sign
05B6 A7 0C          764 		cmpe	#0ch
05B8 06 0A 22       765 		brz	.Sign
05BB 02 00 0A       766 		br	.IN2PS
+                   767 ;-------------------------------------------		
05BE                768 .LeftC:		
05BE F5 00          769 		lda0	.FormulaFlag
05C0 A7 01          770 		cmpe	#01h
05C2 07 05 CF       771 		brnz	.DoLCmode
05C5 F5 00          772 		lda0	.INDP
05C7 A7 03          773 		cmpe	#03h
05C9 07 05 CF       774 		brnz	.DoLCmode
05CC 02 0D 94       775 		br 	.LC2Stack
05CF                776 .DoLCmode:
05CF F5 00          777 		lda0	.FractTrsCnt
05D1 1F             778 		inca
05D2 F9 00          779 		sta0	.FractTrsCnt
05D4 F5 00          780 		lda0	.DmsCount
05D6 A7 00          781 		cmpe	#0h
05D8 06 05 F4       782 		brz	.LCNoDms
05DB F5 00          783 		lda0	.Buf1
05DD A7 AB          784 		cmpe	#.Degree
05DF 06 05 F4       785 		brz	.LCNoDms
05E2 A7 AC          786 		cmpe	#.Minute
05E4 06 05 F4       787 		brz	.LCNoDms
05E7 A7 AD          788 		cmpe	#.Second
05E9 06 05 F4       789 		brz	.LCNoDms
05EC A7 AE          790 		cmpe	#0aeh
05EE 06 05 F4       791 		brz	.LCNoDms
05F1 02 03 5C       792 		br	.SynErr
05F4                793 .LCNoDms:		
05F4 F3 00          794 		lda	#0h 
05F6 F9 00          795 		sta0	.PointFlag
05F8 F9 00          796 		sta0	.DmsCount
+                   797 		;sta0	.FractCount
05FA F5 00          798 		lda0	.INDP
05FC A7 01          799 		cmpe	#01h
05FE 06 0D 94       800 		brz	.LC2Stack
0601 F5 00          801 		lda0	.Buf1		
0603 A7 A8          802 		cmpe	#.Negative
0605 06 06 8C       803 		brz	.PushNegative
0608 A7 A5          804 		cmpe	#.Dec
060A 06 06 8C       805 		brz	.PushNegative	;.PushDec
060D A7 DF          806 		cmpe	#0dfh		;fract add
060F 06 0D 94       807 		brz	.LC2Stack
0612 A7 DE          808 		cmpe	#0deh		;fract div	
0614 06 0D 94       809 		brz	.LC2Stack	;.PushStack
0617 A7 AE          810 		cmpe	#0aeh		;.dmsADD
0619 06 06 AE       811 		brz	.LCDms
061C A7 A8          812 		cmpe	#.Negative
061E 06 0D 94       813 		brz	.LC2Stack
0621 A7 B2          814 		cmpe	#.LC
0623 06 0D 94       815 		brz	.LC2Stack
0626 A7 B3          816 		cmpe	#.RC
0628 06 0D A1       817 		brz	.LCAddMul
062B A7 B4          818 		cmpe	#.Comma
062D 06 0D 94       819 		brz	.LC2Stack
0630 A7 B0          820 		cmpe	#0b0h		;-----
0632 06 0D 94       821 		brz	.LC2Stack
0635 A7 A0          822 		cmpe	#.Point		;.
0637 06 0D 9E       823 		brz	.LCAddMulCls
063A F5 00          824 		lda0	.DataBuf
063C F9 00          825 		sta0	Temp2
063E F5 00          826 		lda0	.Buf1
0640 F9 01          827 		sta0	.DataBuf+1
0642 F9 00          828 		sta0	.DataBuf
0644 20 0A 64       829 		call	.CheckPari
0647 F5 00          830 		lda0	Temp2
0649 F9 00          831 		sta0	.DataBuf
064B F5 00          832 		lda0	.AfterPari		 
064D A7 00          833 		cmpe	#0h
064F 06 0D 94       834 		brz	.LC2Stack
0652 A7 01          835 		cmpe	#01h
0654 06 0D 9E       836 		brz	.LCAddMulCls
0657 A7 02          837 		cmpe	#02h
0659 06 0D 9E       838 		brz	.LCAddMulCls
065C A7 03          839 		cmpe	#03h
065E 06 0D 94       840 		brz	.LC2Stack
0661 A7 04          841 		cmpe	#04h
0663 06 0D 94       842 		brz	.LC2Stack
0666 A7 05          843 		cmpe	#05h		;CNR
0668 06 0D 94       844 		brz	.LC2Stack
066B A7 06          845 		cmpe	#06h		;05h
066D 06 0D 94       846 		brz	.LC2Stack
0670 A7 07          847 		cmpe	#07h		;06h
0672 06 0D 9E       848 		brz	.LCAddMulCls
0675 A7 0A          849 		cmpe	#0ah	 
0677 06 0D 9E       850 		brz	.LCAddMulCls
067A A7 09          851 		cmpe	#09h
067C 06 0D 94       852 		brz	.LC2Stack
067F A7 0B          853 		cmpe	#0bh
0681 06 0D 94       854 		brz	.LC2Stack
0684 A7 0C          855 		cmpe	#0ch
0686 06 0D 94       856 		brz	.LC2Stack		
0689 02 09 91       857 		br	.AddMulCls
+                   858 ;.PushDec:
+                   859 ;		lda0	.DecFlag
+                   860 ;		anda	#01h
+                   861 ;		cmpe	#0h
+                   862 ;		brz	.LC2Stack
068C                863 .PushNegative:	
068C F5 00          864 		lda0	.DecFlag
068E CB 01          865 		anda	#01h
0690 A7 00          866 		cmpe	#0h
0692 06 0D 94       867 		brz	.LC2Stack
0695 F3 00          868 		lda	#0h
0697 F9 00          869 		sta0	.DecFlag		;0304
0699 F3 A8          870 		lda	#.Negative		
069B F9 00          871 		sta0	.DataBuf
069D 20 0D 6B       872 		call	.StoStack	;.PushData
06A0 F3 B2          873 		lda	#.LC
06A2 F9 00          874 		sta0	.DataBuf
06A4 20 0D 6B       875 		call	.StoStack
06A7 F3 B2          876 		lda	#.LC
06A9 F9 00          877 		sta0	.Buf1
06AB 02 00 0A       878 		br	.IN2PS
+                   879 		;lda	#0h
+                   880 		;sta0	.DecFlag		;0304
+                   881 		;call	.StoStack
+                   882 		;lda0	.DataBuf
+                   883 		;sta0	.Buf1		
+                   884 		;lda	#.Negative		
+                   885 		;sta0	.DataBuf
+                   886 		;call	.PushData
+                   887 		;lda	#.LC
+                   888 		;sta0	.DataBuf
+                   889 		;br	.IN2PS
06AE                890 .LCDms:
06AE F3 00          891 		lda	#0h
06B0 F9 00          892 		sta0	.DmsCount
06B2 02 0D A1       893 		br	.LCAddMul
+                   894 ;-------------------------------------------			
06B5                895 .RightC:
06B5 F5 00          896 		lda0	.FractTrsCnt
06B7 3F             897 		deca
06B8 F9 00          898 		sta0	.FractTrsCnt
06BA F3 00          899 		lda	#0h
06BC F9 00          900 		sta0	.CommaFlag
06BE F9 00          901 		sta0	.PointFlag
+                   902 		;sta0	.FractCount
06C0 F9 00          903 		sta0	.DmsCount
06C2 F5 00          904 		lda0	.DataBuf
06C4 F9 00          905 		sta0	Temp2
06C6 20 0F BF       906 		call	.ClosEndPS
06C9 20 0D 16       907 		call	.CkRightC
06CC F5 00          908 		lda0	.AfterPari
06CE F9 00          909 		sta0	.BeforePari
06D0 F5 00          910 		lda0	Temp2
06D2 F9 00          911 		sta0	.Buf1
06D4 02 00 0A       912 		br	.IN2PS
+                   913 		
+                   914 
+                   915 			
+                   916 ;-------------------------------------------		
06D7                917 .MemoryData:
06D7 F5 00          918 		lda0	.FormulaFlag
06D9 A7 01          919 		cmpe	#01h
06DB 07 06 E5       920 		brnz	.NormalMem
06DE F5 00          921 		lda0	.INDP
06E0 A7 03          922 		cmpe	#03h
06E2 06 09 E0       923 		brz	.StoInPosfix
06E5                924 .NormalMem:						
06E5 F5 00          925 		lda0	.INDP
06E7 A7 01          926 		cmpe	#01h
06E9 06 09 E0       927 		brz	.StoInPosfix
06EC F5 00          928 		lda0	.Buf1
06EE F9 01          929 		sta0	.DataBuf+1
06F0 A7 B3          930 		cmpe	#.RC
06F2 06 09 EA       931 		brz	.MemAddMulCls
06F5 A7 A8          932 		cmpe	#.Negative
06F7 06 09 E0       933 		brz	.StoInPosfix
06FA A7 B4          934 		cmpe	#.Comma
06FC 06 09 E0       935 		brz	.StoInPosfix 
06FF A7 B0          936 		cmpe	#0b0h		;----
0701 06 09 E0       937 		brz	.StoInPosfix 
0704 F5 00          938 		lda0	.DataBuf
0706 F9 00          939 		sta0	Temp2
0708 F5 01          940 		lda0	.DataBuf+1
070A F9 00          941 		sta0	.DataBuf
070C 20 0A 64       942 		call	.CheckPari
070F 20 0E F1       943 		call	.CheckMem
0712 F5 00          944 		lda0	Temp2 
0714 F9 00          945 		sta0	.DataBuf
0716 F5 00          946 		lda0	.AfterPari
0718 A7 01          947 		cmpe	#01h
071A 06 09 EA       948 		brz	.MemAddMulCls
071D A7 02          949 		cmpe	#02h
071F 06 09 EA       950 		brz	.MemAddMulCls
0722 A7 03          951 		cmpe	#03h
0724 06 09 E0       952 		brz	.StoInPosfix
0727 A7 04          953 		cmpe	#04h
0729 06 09 E0       954 		brz	.StoInPosfix
072C A7 05          955 		cmpe	#05h
072E 06 09 E0       956 		brz	.StoInPosfix
0731 A7 06          957 		cmpe	#06h		;05h
0733 06 09 E0       958 		brz	.StoInPosfix
0736 A7 07          959 		cmpe	#07h		;06
0738 06 09 E0       960 		brz	.StoInPosfix	;.MemAddMulCls
073B A7 08          961 		cmpe	#08h
073D 06 09 E0       962 		brz	.StoInPosfix
0740 A7 09          963 		cmpe	#09h
0742 06 09 E0       964 		brz	.StoInPosfix
0745 A7 0B          965 		cmpe	#0bh
0747 06 09 E0       966 		brz	.StoInPosfix
074A A7 0C          967 		cmpe	#0ch
074C 06 09 E0       968 		brz	.StoInPosfix		 
074F A7 0A          969 		cmpe	#0ah
0751 06 07 64       970 		brz	.CKFuncOrdms	;.MemAddMulCls	;.StoInPosfix		 
0754 A7 00          971 		cmpe	#0h

⌨️ 快捷键说明

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