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

📄 getkeycode.asl

📁 这是用台湾KingB 8位单片机开发的科学计算器程序
💻 ASL
📖 第 1 页 / 共 4 页
字号:
0441 06 05 10       627 		brz	.ClrKeyPos
0444 A7 7B          628 		cmpe	#07bh		;calc 
0446 06 05 10       629 		brz	.ClrKeyPos
0449 F1 00          630 		lda	StateFlag
044B CB 07          631 		anda	#07h
044D A7 06          632 		cmpe	#06h
044F 07 04 5C       633 		brnz	.CkFontC
0452 F5 00          634 		lda0	.KeyPos
0454 A7 CF          635 		cmpe	#0cfh
0456 06 05 10       636 		brz	.ClrKeyPos
0459 02 05 1E       637 		br	.NotRegMode		 
045C                638 .CkFontC:		
045C F5 00          639 		lda0	.KeyPos
045E A7 FC          640 		cmpe	#0fch
0460 06 05 10       641 		brz	.ClrKeyPos	
0463 02 05 1E       642 		br	.NotRegMode
+                   643 ;-------------------------------------------		
0466                644 .ReleaseSDkey:
0466 F5 00          645 		lda0	.FormulaFlag
0468 A7 01          646 		cmpe	#01h
046A 07 04 79       647 		brnz	.SDModeKeyCK
046D F5 00          648 		lda0	.KeyPos
046F A7 CC          649 		cmpe	#0cch
0471 06 05 10       650 		brz	.ClrKeyPos
0474 A7 DD          651 		cmpe	#0ddh
0476 06 05 10       652 		brz	.ClrKeyPos
0479                653 .SDModeKeyCK:			
0479 F5 00          654 		lda0	.KeyPos
047B A7 BD          655 		cmpe	#0bdh
047D 06 05 10       656 		brz	.ClrKeyPos
0480 A7 FA          657 		cmpe	#0fah
0482 06 05 10       658 		brz	.ClrKeyPos
0485 A7 FB          659 		cmpe	#0fbh
0487 06 05 10       660 		brz	.ClrKeyPos
048A A7 CF          661 		cmpe	#0cfh
048C 06 05 10       662 		brz	.ClrKeyPos
048F A7 FC          663 		cmpe	#0fch
0491 06 05 10       664 		brz	.ClrKeyPos
0494 A7 FD          665 		cmpe	#0fdh
0496 06 05 10       666 		brz	.ClrKeyPos
0499 A7 FE          667 		cmpe	#0feh
049B 06 05 10       668 		brz	.ClrKeyPos
049E A7 CA          669 		cmpe	#0cah
04A0 06 05 10       670 		brz	.ClrKeyPos
04A3 A7 BE          671 		cmpe	#0beh
04A5 06 05 10       672 		brz	.ClrKeyPos
04A8 A7 7A          673 		cmpe	#07ah		;calc'='
04AA 06 05 10       674 		brz	.ClrKeyPos
04AD 02 05 1E       675 		br	.EndDalta
+                   676 ;-------------------------------------------		
04B0                677 .CompMode:	
+                   678 		
04B0 F5 00          679 		lda0	.FormulaFlag
04B2 A7 01          680 		cmpe	#01h
04B4 07 04 CA       681 		brnz	.CompModeKeyCK
04B7 F5 00          682 		lda0	ErrorFlag
04B9 A7 00          683 		cmpe	#0h
04BB 07 05 23       684 		brnz	.EndDalta1
04BE F5 00          685 		lda0	.KeyPos
04C0 A7 CC          686 		cmpe	#0cch
04C2 06 05 10       687 		brz	.ClrKeyPos
04C5 A7 DD          688 		cmpe	#0ddh
04C7 06 05 10       689 		brz	.ClrKeyPos		 
04CA                690 .CompModeKeyCK:			
04CA F5 00          691 		lda0	.KeyPos
04CC A7 B0          692 		cmpe	#0b0h		; simecolon
04CE 06 05 10       693 		brz	.ClrKeyPos
04D1 A7 CF          694 		cmpe	#0cfh
04D3 06 05 10       695 		brz	.ClrKeyPos
04D6 A7 FA          696 		cmpe	#0fah
04D8 06 05 10       697 		brz	.ClrKeyPos
04DB A7 FB          698 		cmpe	#0fbh
04DD 06 05 10       699 		brz	.ClrKeyPos
04E0 A7 FC          700 		cmpe	#0fch
04E2 06 05 10       701 		brz	.ClrKeyPos
04E5 A7 FD          702 		cmpe	#0fdh
04E7 06 05 10       703 		brz	.ClrKeyPos
04EA A7 FE          704 		cmpe	#0feh
04EC 06 05 10       705 		brz	.ClrKeyPos
04EF A7 CA          706 		cmpe	#0cah
04F1 06 05 10       707 		brz	.ClrKeyPos
04F4 A7 CB          708 		cmpe	#0cbh
04F6 06 05 10       709 		brz	.ClrKeyPos
04F9 A7 BA          710 		cmpe	#0bah
04FB 06 05 10       711 		brz	.ClrKeyPos
04FE A7 BC          712 		cmpe	#0bch
0500 06 05 10       713 		brz	.ClrKeyPos
0503 A7 BD          714 		cmpe	#0bdh
0505 06 05 10       715 		brz	.ClrKeyPos
0508 A7 BE          716 		cmpe	#0beh
050A 06 05 10       717 		brz	.ClrKeyPos
050D 02 05 1E       718 		br	.EndDalta
+                   719  				
0510                720 .ClrKeyPos:
0510 F3 00          721 		lda	#0h
0512 F9 00          722 		sta0	.KeyPos
0514 F3 01          723 		lda 	#>.SFlag
0516 FC 28          724 		sta	PP
0518 F1 2D          725 		lda 	.SFlag
051A CB F8          726 		anda	#~07h
051C FD 2D          727 		sta 	.SFlag				
051E                728 .NotRegMode:		 
051E                729 .EndDalta: 							
051E F3 00          730 		lda	#0h
0520 FC 28          731 		sta	PP	
0522 24             732 		ret
0523                733 .EndDalta1:
0523 F3 00          734 		lda	#0h
0525 F9 00          735 		sta0	.FormulaFlag
0527 F9 00          736 		sta0	.StoFlag
0529 24             737 		ret
+                   738 ;-------------------------------------------		
052A                739 .CheckClrData::	
+                   740 		 
052A F5 00          741 		lda0    ErrorFlag
052C A7 00          742 		cmpe	#0h
052E 07 06 39       743 		brnz	.EndClrData		
0531 F5 00          744 		lda0	.KeyPos
0533 A7 00          745 		cmpe	#0h
0535 06 06 39       746 		brz	.EndClrData		;2002 11 13
0538 F3 01          747 		lda	#01h
053A FC 28          748 		sta	PP
053C F1 00          749 		lda	.SetFlag
053E CB 02          750 		anda	#02h
0540 07 06 39       751 		brnz	.EndClrData
0543 F1 2D          752 		lda	.SFlag
0545 CB 08          753 		anda	#08h
0547 06 05 56       754 		brz	1$
054A F5 00          755 		lda0	.KeyPos
054C A7 61          756 		cmpe	#61h
054E 06 05 10       757 		brz	.ClrKeyPos
0551 A7 65          758 		cmpe	#65h
0553 06 05 10       759 		brz	.ClrKeyPos
+                   760 1$:				
0556 F1 2D          761 		lda	.SFlag
0558 CB 20          762 		anda	#20h
055A A7 20          763 		cmpe	#20h
055C 06 06 39       764 		brz	.EndClrData
055F F1 2D          765 		lda	.SFlag
0561 CB 18          766 		anda	#18h
0563 A7 18          767 		cmpe	#18h
0565 06 06 39       768 		brz	.EndClrData
0568 F5 00          769 		lda0	.KeyPos			 	
056A A7 52          770 		cmpe	#052h
056C 06 06 39       771 		brz	.EndClrData	;sto	
056F A7 B5          772 		cmpe	#0b5h		;m+
0571 06 05 EC       773 		brz	.CkMaddMode
0574 A7 DF          774 		cmpe	#0dfh		;m-
0576 06 05 EC       775 		brz	.CkMaddMode
0579 A7 CC          776 		cmpe	#0cch		
057B 06 06 39       777 		brz	.EndClrData	
057E A7 DD          778 		cmpe	#0ddh
0580 06 06 39       779 		brz	.EndClrData
0583 A7 A3          780 		cmpe	#0a3h
0585 06 06 39       781 		brz	.EndClrData
0588 A7 7B          782 		cmpe	#07bh
058A 06 06 39       783 		brz	.EndClrData	
058D A7 77          784 		cmpe	#77h
058F 06 06 39       785 		brz	.EndClrData
0592 A7 B1          786 		cmpe	#0b1h
0594 06 06 39       787 		brz	.EndClrData	
0597 A7 65          788 		cmpe	#065h		;66
0599 06 06 39       789 		brz	.EndClrData
059C A7 EE          790 		cmpe	#0eeh
059E 06 06 39       791 		brz	.EndClrData
05A1 A7 F8          792 		cmpe	#0f8h		;DRG
05A3 06 06 39       793 		brz	.EndClrData
05A6 A7 C2          794 		cmpe	#0c2h
05A8 06 06 39       795 		brz	.EndClrData
05AB A7 41          796 		cmpe	#041h
05AD 06 05 FA       797 		brz	.ChangMode	;.EndClrData	;A/C	
05B0 A7 31          798 		cmpe	#031h		
05B2 06 05 FA       799 		brz	.ChangMode		
05B5 A7 B7          800 		cmpe	#0b7h		;dms
05B7 06 05 FA       801 		brz	.ChangMode
05BA A7 42          802 		cmpe	#042h		;shift dms
05BC 06 05 FA       803 		brz	.ChangMode
05BF A7 C3          804 		cmpe	#0c3h		;A B/C
05C1 06 05 FA       805 		brz	.ChangMode
05C4 F5 00          806 		lda0	.ModeFlag
05C6 CB F0          807 		anda	#0f0h
05C8 07 06 39       808 		brnz	.EndClrData
05CB F1 00          809 		lda	BasenFlag
05CD CB 0F          810 		anda	#0fh
05CF 07 06 39       811 		brnz	.EndClrData
05D2                812 .CKEQUAC::				
05D2 F3 01          813 		lda	#>.SFlag	
05D4 FC 28          814 		sta	PP		
05D6 F1 2D          815 		lda	.SFlag
05D8 CB 48          816 		anda	#48h
05DA A7 08          817 		cmpe	#08h		;08=Enter ,40=AC , 48=AC+Enter
05DC 06 06 20       818 		brz	.Add_ANS
05DF A7 40          819 		cmpe	#40h		
05E1 06 06 0D       820 		brz	.CKlrkey 
05E4 A7 48          821 		cmpe	#48h
05E6 06 06 0D       822 		brz	.CKlrkey				
05E9 02 06 39       823 		br 	.EndClrData
05EC                824 .CkMaddMode:
05EC F3 00          825 		lda	#>StateFlag
05EE FC 28          826 		sta	PP
05F0 F1 00          827 		lda	StateFlag
05F2 CB 47          828 		anda	#47h
05F4 07 06 39       829 		brnz	.EndClrData
05F7 02 06 39       830 		br	.EndClrData;.CKEQUAC		
05FA                831 .ChangMode:
05FA F3 01          832 		lda	#01h
05FC FC 28          833 		sta	PP
05FE F1 2D          834 		lda	.SFlag
0600 CB 40          835 		anda	#40h
0602 A7 40          836 		cmpe	#40h
0604 06 06 0D       837 		brz	.CKlrkey
0607 20 06 3A       838 		call	.CheckFunctKey
060A 02 06 39       839 		br 	.EndClrData			
060D                840 .CKlrkey: 	
060D F3 01          841 		lda	#01h
060F FC 28          842 		sta	PP
0611 F1 00          843 		lda	.SetFlag
0613 CB C0          844 		anda	#~3fh		;clear disp point fract dms eng rnd
0615 FD 00          845 		sta	.SetFlag				
0617 20 00 00       846 		call	.ClrP2Data								
061A 20 00 00       847 		call	Rekeyindisp
061D 02 06 39       848 		br	.EndClrData
0620                849 .Add_ANS:	
0620 F3 00          850 		lda	#>.SetFlag
0622 FC 28          851 		sta	PP
0624 F1 00          852 		lda	.SetFlag
0626 CB 80          853 		anda	#80h	
0628 07 06 36       854 		brnz	.NoClrData
062B F3 00          855 		lda	#>.SRFlag
062D FC 28          856 		sta	PP
062F F3 00          857 		lda	#0h
0631 FD 00          858 		sta	.SRFlag
0633 20 00 00       859 		call	.ClrP2Data
0636                860 .NoClrData:			
0636 20 00 00       861 		call	.CheckRnd															
0639                862 .EndClrData:
0639 24             863 		ret
+                   864  	
+                   865 ;-------------------------------------------
063A                866 .CheckFunctKey:
063A F3 01          867 		lda	#01h
063C FC 28          868 		sta	PP
063E F1 00          869 		lda	.SetFlag
0640 CB 20          870 		anda	#20h
0642 06 06 C6       871 		brz	.CheckShiftDmsAbcKey			
0645 F5 00          872 		lda0	.KeyPos
0647 A7 B7          873 		cmpe	#0b7h		;DMS mode
0649 06 06 5E       874 		brz	.ChangDmsMode
064C A7 42          875 		cmpe	#42h		;DMS mode
064E 06 06 5E       876 		brz	.ChangDmsMode
0651 A7 C3          877 		cmpe	#0c3h		;Fract to Point mode
0653 06 06 84       878 		brz	.ChangFractMode
0656 A7 31          879 		cmpe	#031h		;Fract to Point mode
0658 06 06 B2       880 		brz	.ChangFractbc
065B 02 06 D2       881 		br	.EndCheckFunctKey
065E                882 .ChangDmsMode:
+                   883 		
065E F1 00          884 		lda	.SetFlag		
0660 CB 1C          885 		anda	#1ch
0662 A7 00          886 		cmpe	#0h
0664 06 06 79       887 		brz	.DispDms
0667 A7 10          888 		cmpe	#10h
0669 06 06 79       889 		brz	.DispDms
066C A7 08          890 		cmpe	#08h
066E 06 06 79       891 		brz	.DispDms		
0671 A7 04          892 		cmpe	#04h
0673 06 06 BD       893 		brz	.DispPointmode		
0676 02 06 D2       894 		br	.EndCheckFunctKey
0679                895 .DispDms:
0679 F1 00          896 		lda	.SetFlag
067B CB E3          897 		anda	#~1ch	
067D DB 04          898 		ora	#04h
067F FD 00          899 		sta	.SetFlag
0681 02 06 D2       900 		br	.EndCheckFunctKey
0684                901 .ChangFractMode:
0684 F3 01          902 		lda	#01h
0686 FC 28          903 		sta	PP
0688 F1 00          904 		lda	.SetFlag		
068A CB 1C          905 		anda	#1ch
068C A7 00          906 		cmpe	#0h
068E 06 06 A7       907 		brz	.DispFractmode
0691 A7 04          908 		cmpe	#04h
0693 06 06 A7       909 		brz	.DispFractmode
0696 F1 00          910 		lda	.SetFlag		
0698 CB 18          911 		anda	#18h
069A A7 10          912 		cmpe	#10h
069C 06 06 A7       913 		brz	.DispFractmode		
069F A7 08          914 		cmpe	#08h
06A1 06 06 BD       915 		brz	.DispPointmode		
06A4 02 06 D2       916 		br	.EndCheckFunctKey
06A7                917 .DispFractmode:
06A7 F1 00          918 		lda	.SetFlag
06A9 CB E3          919 		anda	#~1ch	
06AB DB 08          920 		ora	#08h
06AD FD 00          921 		sta	.SetFlag
06AF 02 06 D2       922 		br	.EndCheckFunctKey
06B2                923 .ChangFractbc:
+                   924 		 
06B2 F1 00          925 		lda	.SetFlag
06B4 CB E3          926 		anda	#~1ch	
06B6 DB 10          927 		ora	#10h
06B8 FD 00          928 		sta	.SetFlag
06BA 02 06 D2       929 		br	.EndCheckFunctKey		
06BD                930 .DispPointmode:
06BD F1 00          931 		lda	.SetFlag
06BF CB E3          932 		anda	#~1ch		
06C1 FD 00          933 		sta	.SetFlag
06C3 02 06 D2       934 		br	.EndCheckFunctKey
06C6                935 .CheckShiftDmsAbcKey:
06C6 F5 00          936 		lda0	.KeyPos
06C8 A7 31          937 		cmpe	#31h
06CA 06 05 10       938 		brz	.ClrKeyPos		
06CD A7 42          939 		cmpe	#42h
06CF 06 05 10       940 		brz	.ClrKeyPos

⌨️ 快捷键说明

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