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

📄 caldisp.asl

📁 这是用台湾KingB 8位单片机开发的科学计算器程序
💻 ASL
📖 第 1 页 / 共 5 页
字号:
0616 FD 06          925 		sta	cmpPP
0618 F3 00          926 		lda	#C_ZERO
061A FD 05          927 		sta	cmpDP	
061C                928 novdisploop:					
061C 20 01 C2       929 		call	Addplace		 								
061F 20 01 FA       930 		call	Font2disp
0622                931 		PP2One()													
0626 F5 00          932 		lda0	.DataDP
0628 A5 05          933 		cmpe	cmpDP		
062A 07 06 1C       934 		brnz	novdisploop
062D F1 00          935 		lda	GetCount
062F FD 02          936 		sta	blankCount								       			
0631                937 rightchkend:
0631 24             938 		ret
+                   939 ;------------------------------------------------------------------------
+                   940 ;------------------------------------------------------------------------
0632                941 Matrixanschk:
0632 F5 00          942 		lda0	.DataDP
0634 A7 00          943        		cmpe	#C_ZERO
0636 06 06 64       944        		brz	Matrixanschkend
0639 20 1C 70       945 		call	Clrfullmatrix				
063C                946 Mansdisp:				
063C                947 		PP2One()
0640 F3 0B          948 		lda	#C_11
0642 FD 00          949 		sta	GetCount
+                   950 			
0644 F3 02          951 		lda	#C_TWO
0646 FD 06          952 		sta	cmpPP
0648 F3 00          953 		lda	#C_ZERO
064A FD 05          954 		sta	cmpDP			
064C                955 Mdisploop:											 				
064C 20 01 C2       956 		call	Addplace							
+                   957 		
064F 20 01 FA       958 		call	Font2disp
+                   959 		
+                   960 																						
0652 F1 00          961 		lda	GetCount
0654 A7 FF          962 		cmpe	#MAX
0656 06 06 64       963 		brz	Matrixanschkend		
0659                964 		PP2One()
065D F5 00          965 		lda0	.DataDP
065F A5 05          966 		cmpe	cmpDP				
0661 07 06 4C       967 		brnz	Mdisploop
+                   968 		
0664                969 Matrixanschkend:		
0664 24             970 		ret
+                   971 ;------------------------------------------------------------------------
+                   972 ;------------------------------------------------------------------------
+                   973 
0665                974 Chkkeylr::		
+                   975 		
0665 F3 00          976 		lda	#>ErrorFlag
0667 FC 28          977         	sta	PP
0669 F3 00          978         	lda	#<ErrorFlag
066B FC 21          979         	sta	DP
066D F2             980         	lda	i
066E A7 00          981         	cmpe	#C_ZERO
0670 07 07 3A       982 		brnz	chkkeylrend0
+                   983 				
0673                984 		PP2One() 
0677 F3 00          985 		lda	#C_ZERO
0679 FD 00          986 		sta	Insetflag
067B F1 00          987 		lda	.SFlag
067D CB 08          988 		anda	#EQUCHK
067F 07 06 91       989 		brnz	chkkeyEqu
+                   990 		
0682 F5 00          991 		lda0	.KeyPos
0684 A7 CC          992 		cmpe	#LEFTKEY
0686 06 06 A0       993 		brz	LeftGo
0689 A7 DD          994 		cmpe	#RIGHTKEY
068B 06 06 CE       995 		brz	RightGo
068E 02 07 36       996 		br	chkkeylrend1
+                   997 
+                   998 		
0691                999 chkkeyEqu:
0691 F5 00         1000 		lda0	.KeyPos
0693 A7 CC         1001 		cmpe	#LEFTKEY
0695 06 07 28      1002 		brz	chkkeylrend2
0698 A7 DD         1003 		cmpe	#RIGHTKEY
069A 06 07 0C      1004 		brz	chkkeylrend3
069D 02 07 36      1005 		br	chkkeylrend1		
+                  1006 
+                  1007 
+                  1008 
+                  1009 					
06A0               1010 LeftGo:					
06A0               1011 		PP2One() 
06A4 F5 00         1012 		lda0	.SFDP
06A6 A7 00         1013 		cmpe	#C_ZERO
06A8 07 06 B2      1014 		brnz	3$			
+                  1015 2$:				
06AB F5 00         1016 		lda0	.DataDP
06AD F9 00         1017 		sta0	.SFDP						  	        	       				
06AF 02 07 3A      1018 		br	chkkeylrend0
+                  1019 		
+                  1020 3$:		
06B2 F3 02         1021 		lda	#C_TWO
06B4 FD 06         1022 		sta	cmpPP
06B6 F5 00         1023 		lda0	.SFDP
06B8 FD 05         1024 		sta	cmpDP								  	        	
06BA 20 01 DF      1025         	call	Decplace
06BD F1 05         1026 		lda	cmpDP
06BF A7 00         1027 		cmpe	#C_ZERO
06C1 07 06 C7      1028 		brnz	4$
06C4 02 07 01      1029    		br	chkkeylrend4     	        	
+                  1030 4$:        			      	
06C7 F1 05         1031 		lda	cmpDP
06C9 F9 00         1032 		sta0	.SFDP			
06CB 02 07 3A      1033 		br	chkkeylrend0
+                  1034 
+                  1035 		
+                  1036 		
06CE               1037 RightGo:										
06CE               1038 		PP2One()		
06D2 F5 00         1039 		lda0	.SFDP
06D4 A7 00         1040 		cmpe	#C_ZERO
06D6 06 07 01      1041 		brz	chkkeylrend4		
+                  1042 1$:		
06D9               1043 		PP2Zero()
06DD F1 00         1044 		lda	.SFDP
06DF A5 00         1045 		cmpe	.DataDP
06E1 07 06 EB      1046 		brnz	2$
06E4               1047 		PP2One()
06E8 02 07 36      1048 		br	chkkeylrend1
+                  1049 		
06EB               1050 2$:		PP2One() 
06EF F3 02         1051 		lda	#C_TWO
06F1 FD 06         1052 		sta	cmpPP
06F3 F5 00         1053 		lda0	.SFDP
06F5 FD 05         1054 		sta	cmpDP
06F7 20 01 C2      1055         	call	Addplace
06FA F1 05         1056 		lda	cmpDP
06FC F9 00         1057 		sta0	.SFDP
06FE 02 07 3A      1058 		br	chkkeylrend0
+                  1059 
0701               1060 chkkeylrend4:
0701 F1 00         1061 		lda	.SFlag
0703 CB BF         1062 		anda	#~ACCHK
0705 FD 00         1063 		sta	.SFlag	
0707 F3 02         1064 		lda	#C_TWO
0709 02 07 58      1065 		br	chkkeylrend
+                  1066 		
+                  1067 	
070C               1068 chkkeylrend3:		
070C               1069 		PP2One()
0710 F1 00         1070 		lda	.SetFlag
0712 CB DF         1071 		anda	#~BLANKCHK
0714 FD 00         1072 		sta	.SetFlag				
0716 F3 00         1073 		lda	#C_ZERO
0718 FD 05         1074 		sta	cmpDP
071A F3 02         1075 		lda	#C_TWO
071C FD 06         1076 		sta	cmpPP
071E 20 01 C2      1077         	call	Addplace
0721 F1 05         1078 		lda	cmpDP
0723 F9 00         1079 		sta0	.SFDP
0725 02 07 3A      1080 		br	chkkeylrend0
+                  1081 		
+                  1082 				
0728               1083 chkkeylrend2:		
0728               1084 		PP2One()
072C F1 00         1085 		lda	.SetFlag
072E CB DF         1086 		anda	#~BLANKCHK
0730 FD 00         1087 		sta	.SetFlag
0732 F3 DD         1088 		lda	#RIGHTKEY
0734 F9 00         1089 		sta0	.KeyPos		
0736               1090 chkkeylrend1:				
0736 F3 00         1091 		lda	#C_ZERO
0738 F9 00         1092 		sta0	.SFDP		
073A               1093 chkkeylrend0:
073A F3 00         1094 		lda	#>.SRFlag
073C FC 28         1095 		sta	PP
073E F3 00         1096 		lda	#C_ZERO
0740 FD 00         1097 		sta	.SRFlag
0742               1098 		PP2One()
0746 F1 00         1099 		lda	.SFlag
0748 CB B7         1100 		anda	#~(ACCHK|EQUCHK)
074A FD 00         1101 		sta	.SFlag
074C F1 0B         1102 		lda	T1Flag
074E DB 80         1103 		ora	#TIMEGO
0750 FD 0B         1104 		sta	T1Flag
0752 F3 00         1105 		lda	#C_ZERO		
0754 FD 03         1106 		sta	t1count
0756 F3 01         1107 		lda	#C_ONE
0758               1108 chkkeylrend:
0758 24            1109 		ret		
+                  1110 ;------------------------------------------------------------------------
+                  1111 ;------------------------------------------------------------------------		
0759               1112 T1chkblank::															
+                  1113 		
0759               1114 allblankchk:		
0759               1115 		PP2One()
075D F1 0B         1116 		lda	T1Flag
075F CB 80         1117 		anda	#TIMEGO
0761 06 09 07      1118 		brz	T1chkblankend1				
0764 F5 00         1119 		lda0	ErrorFlag
0766 A7 00         1120         	cmpe	#C_ZERO
0768 07 08 F5      1121         	brnz	T1chkblankend	;ChkT1end        	        		
076B F5 00         1122         	lda0	.ModeFlag
076D CB F0         1123         	anda	#MASKLO
076F 07 08 F5      1124         	brnz	T1chkblankend	;ChkT1end        	 		
0772 F1 01         1125        		lda	BasenFlag
0774 CB 0F         1126         	anda	#MASKHI
0776 07 08 F5      1127         	brnz	T1chkblankend	;ChkT1end       				
0779 F1 00         1128 		lda	.SetFlag
077B CB 22         1129 		anda	#(DRGCHK|BLANKCHK)
077D 07 08 F5      1130 		brnz	T1chkblankend	;ChkT1end	
+                  1131 	
+                  1132 			        	        	
0780 F1 00         1133         	lda	.SFlag
0782 CB 40         1134 		anda	#ACCHK
0784 07 07 99      1135 		brnz	normalblank
+                  1136                      	
0787 F1 02         1137     		lda	blankCount
0789 A7 FF         1138     		cmpe	#MAX
078B 07 07 92      1139     		brnz	1$
078E F3 00         1140    		lda	#C_ZERO
0790 FD 02         1141    		sta	blankCount 		
+                  1142 1$:		
+                  1143     		
0792 F5 00         1144 		lda0	.SFDP
0794 A7 00         1145 		cmpe	#C_ZERO
0796 07 08 2D      1146 		brnz	spblank
+                  1147 		 
0799               1148 normalblank:						
0799 F5 00         1149 		lda0	.DataDP
079B A7 49         1150 		cmpe	#WILLFULL
079D 05 07 B9      1151 		brnc	0$		
07A0 F1 03         1152 		lda	t1count
07A2 A7 00         1153 		cmpe	#C_ZERO
07A4 06 07 FC      1154 		brz	1$
07A7 A7 01         1155 		cmpe	#C_ONE
07A9 06 08 96      1156 		brz	Display_t1
07AC A7 07         1157 		cmpe	#C_SEVEN
07AE 06 08 26      1158 		brz	2$	
07B1 A7 08         1159 		cmpe	#C_EIGHT
07B3 06 08 96      1160 		brz	Display_t1
07B6 02 08 F5      1161 		br	T1chkblankend
+                  1162 		
07B9 F1 03         1163 0$:		lda	t1count
07BB A7 01         1164 		cmpe	#C_ONE
07BD 06 08 A4      1165 		brz	Display_t1_1
07C0 A7 02         1166 		cmpe	#C_TWO
07C2 06 08 B2      1167 		brz	Display_t1_2
07C5 A7 03         1168 		cmpe	#C_THREE
07C7 06 08 C0      1169 		brz	Display_t1_3
07CA A7 04         1170 		cmpe	#C_FOUR
07CC 06 08 CE      1171 		brz	Display_t1_4
07CF A7 05         1172 		cmpe	#C_FIVE
07D1 06 08 DC      1173 		brz	Display_t1_5	
07D4 A7 06         1174 		cmpe	#C_SIX
07D6 06 08 EA      1175 		brz	Display_t1_6			
07D9 A7 07         1176 		cmpe	#C_SEVEN
07DB 06 08 26      1177 		brz	2$
07DE A7 08         1178 		cmpe	#C_EIGHT
07E0 06 08 A4      1179 		brz	Display_t1_1
07E3 A7 09         1180 		cmpe	#C_NINE
07E5 06 08 B2      1181 		brz	Display_t1_2
07E8 A7 0A         1182 		cmpe	#C_TEN
07EA 06 08 C0      1183 		brz	Display_t1_3
07ED A7 0B         1184 		cmpe	#C_11
07EF 06 08 CE      1185 		brz	Display_t1_4
07F2 A7 0C         1186 		cmpe	#C_12
07F4 06 08 DC      1187 		brz	Display_t1_5	
07F7 A7 0D         1188 		cmpe	#C_13
07F9 06 08 EA      1189 		brz	Display_t1_6
+                  1190 				
+                  1191 			
07FC F1 00         1192 1$:		lda	Insetflag
07FE A7 01         1193 		cmpe	#C_ONE
0800 06 08 1F      1194 		brz	12$
0803 F1 00         1195 		lda	.SFlag
0805 CB 40         1196 		anda	#ACCHK
0807 07 08 11      1197 		brnz	10$		
080A F5 00         1198 		lda0	.DataDP
080C A7 49         1199 		cmpe	#WILLFULL
080E 04 08 18      1200 		brc	11$
0811 F3 5F         1201 10$:		lda	#SPACEDISP
0813 FD FA         1202 		sta	t1dispbf  	
0815 02 08 F5      1203 		br	T1chkblankend
0818 F3 10         1204 11$:		lda	#BLANKDISP
081A FD FA         1205 		sta	t1dispbf        	    	
081C 02 08 F5      1206 		br	T1chkblankend
081F F3 11         1207 12$:		lda	#INSETDISP
0821 FD FA         1208 		sta	t1dispbf   	
0823 02 08 F5      1209 		br	T1chkblankend
0826 F3 00         1210 2$:		lda	#C_ZERO
0828 FD FA         1211 		sta	t1dispbf
082A 02 08 F5      1212         	br	T1chkblankend
+                  1213 
082D               1214 spblank:			
082D F1 03         1215 		lda	t1count
082F A7 00         1216 		cmpe	#C_ZERO
0831 06 08 46      1217 		brz	dispspace
0834 A7 01         1218 		cmpe	#C_ONE
0836 06 08 96      1219 		brz	Display_t1
0839 A7 07         1220 		cmpe	#C_SEVEN
083B 06 08 84      1221 		brz	dispword	
083E A7 08         1222 		cmpe	#C_EIGHT
0840 06 08 96      1223 		brz	Display_t1
0843 02 08 F5      1224 		br	T1chkblankend
0846               1225 dispspace:
0846 F1 00         1226 		lda	Insetflag
0848 A7 01         1227 		cmpe	#C_ONE
084A 06 08 62      1228 		brz	2$				
084D F5 00         1229 		lda0	.DataDP
084F A7 49         1230 		cmpe	#WILLFULL
0851 04 08 5B      1231 		brc	1$		
0854 F3 5F         1232 		lda	#SPACEDISP
0856 FD FA         1233 		sta	t1dispbf       	  	

⌨️ 快捷键说明

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