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

📄 storedata.asl

📁 这是用台湾KingB 8位单片机开发的科学计算器程序
💻 ASL
📖 第 1 页 / 共 2 页
字号:
+                     1 ;/subrutine name : StoreData.asm
+                     2 ;/user bady      : HE 
+                     3 ;/fast clock     : 4Mhz
+                     4 ;/slow clock     : 32768khz
+                     5 ;/programer      : Alton
+                     6 ;
+                     7 ;
00A8                  8 .A			EQU	0Xa8
00B7                  9 .B			EQU	0Xb7
00B8                 10 .C			EQU	0Xb8
00B9                 11 .D			EQU	0Xb9
00C0                 12 .E			EQU	0Xc0
00C1                 13 .F			EQU	0Xc1
00B3                 14 .X			EQU	0Xb3
00B4                 15 .Y			EQU	0Xb4
00B5                 16 .M			EQU	0Xb5
0002                 17 .SartPP			EQU	0x02
00A0                 18 .Point			EQU	0xa0
00C3                 19 .Fract			EQU	0xc3
+                    20 			 
+                    21 
+                    22 
+                    23 			
+                    24        			.area  stocode(code,rel)
+B 00 01
0000                 25 .StoData::
0000 20 00 00        26 		call	.CKEQUAC
0003 F3 00           27 		lda	#>.SFlag
0005 FC 28           28 		sta	PP
0007 F1 00           29 		lda	.SFlag
0009 CB 80           30 		anda	#~7fh
000B FD 00           31 		sta 	.SFlag		
000D F3 02           32 		lda 	#.SartPP
000F FC 28           33 		sta	PP		
0011 F5 00           34 		lda0	.DataDP
0013 FC 21           35 		sta	DP
0015 A7 4F           36 		cmpe	#4fh
0017 04 00 37        37 		brc	.InpErr 
001A F5 00           38 		lda0	.KeyPos	
001C A7 10           39 		cmpe	#10h
001E 07 00 23        40 		brnz	.Savedat
0021 F3 00           41 		lda	#0h
0023                 42 .Savedat:		
0023 FE              43 		sta	i
0024 18              44 		incdp
0025 F0 21           45 		lda	DP
0027 F9 00           46 		sta0	.DataDP
0029 F5 00           47 		lda0	.KeyPos			
002B A7 B4           48 		cmpe	#0b4h
002D 07 00 3B        49 		brnz	.EndStoData
0030 F3 01           50 		lda	#01h
0032 F9 00           51 		sta0	.CommaFlag
0034 02 00 3B        52 		br	.EndStoData
0037                 53 .InpErr:		
0037 F3 03           54 		lda	#03h
0039 F9 00           55 		sta0	ErrorFlag					
003B                 56 .EndStoData:
003B F3 00           57 		lda	#0h
003D FC 28           58 		sta	PP	
003F 24              59 		ret
+                    60 ;-------------------------------------------
0040                 61 .ClrRAM::
+                    62 		
0040 F3 02           63 		lda	#02h
0042 F9 00           64 		sta0	.KeyC
0044 F3 00           65 		lda	#0h
0046 FC 21           66 		sta	DP
0048                 67 .ClrRAMD:		
0048 F5 00           68 		lda0	.KeyC
004A FC 28           69 		sta	PP		
004C F3 00           70 		lda	#0h
004E FE              71 		sta	i
004F 18              72 		incdp
0050 F0 21           73 		lda	DP
0052 A7 00           74 		cmpe	#0h
0054 07 00 48        75 		brnz	.ClrRAMD		
0057 F5 00           76 		lda0	.KeyC
0059 A7 06           77 		cmpe	#06h
005B 06 00 66        78 		brz	.EndClrRAM
005E F5 00           79 		lda0	.KeyC
0060 1F              80 		inca
0061 F9 00           81 		sta0	.KeyC
0063 02 00 48        82 		br	 .ClrRAMD
0066                 83 .EndClrRAM:
0066 F3 00           84 		lda	#0h
0068 FC 28           85 		sta	PP
006A 24              86 		ret
+                    87 ;-------------------------------------------
006B                 88 .STOReg::		
006B F3 00           89 		lda	#0h
006D FC 28           90 		sta 	PP	
006F 20 00 00        91 		call	.I_trans_Z	
0072 20 00 00        92 		call	.Z_trans_X
0075 F5 00           93 		lda0	.KeyPos
0077 A7 A8           94 		cmpe	#.A
0079 06 00 84        95 		brz	.STOA
007C A7 E3           96 		cmpe	#0e3h
007E 06 00 84        97 		brz	.STOA
0081 02 00 8C        98 		br 	.CKSTOB		
0084                 99 .STOA:		
0084 20 00 00       100 		call	.X_TO_A
0087 F3 E3          101 		lda	#0e3h
0089 02 01 34       102 		br	.EndSTOReg		
008C                103 .CKSTOB:
008C A7 B7          104 		cmpe	#.B
008E 06 00 99       105 		brz	.STOB
0091 A7 E4          106 		cmpe	#0e4h
0093 06 00 99       107 		brz	.STOB
0096 02 00 A1       108 		br  	.CKSTOC	
0099                109 .STOB:			
0099 20 00 00       110 		call	.X_TO_B
009C F3 E4          111 		lda	#0e4h
009E 02 01 34       112 		br	.EndSTOReg		
00A1                113 .CKSTOC:
00A1 A7 B8          114 		cmpe	#.C
00A3 06 00 AE       115 		brz	.STOC
00A6 A7 E5          116 		cmpe	#0e5h
00A8 06 00 AE       117 		brz	.STOC
00AB 02 00 B6       118 		br  	.CKSTOD	
00AE                119 .STOC:			
00AE 20 00 00       120 		call	.X_TO_C
00B1 F3 E5          121 		lda	#0e5h
00B3 02 01 34       122 		br	.EndSTOReg		
00B6                123 .CKSTOD:
00B6 A7 B9          124 		cmpe	#.D
00B8 06 00 C3       125 		brz	.STOD
00BB A7 E6          126 		cmpe	#0e6h
00BD 06 00 C3       127 		brz	.STOD
00C0 02 00 CB       128 		br  	.CKSTOE
00C3                129 .STOD:			
00C3 20 00 00       130 		call	.X_TO_D
00C6 F3 E6          131 		lda	#0e6h
00C8 02 01 34       132 		br	.EndSTOReg		
00CB                133 .CKSTOE:
00CB A7 C0          134 		cmpe	#.E
00CD 06 00 D8       135 		brz	.STOE
00D0 A7 E7          136 		cmpe	#0e7h
00D2 06 00 D8       137 		brz	.STOE
00D5 02 00 E0       138 		br  	.CKSTOF
00D8                139 .STOE:			
00D8 20 00 00       140 		call	.X_TO_E
00DB F3 E7          141 		lda	#0e7h
00DD 02 01 34       142 		br	.EndSTOReg		
00E0                143 .CKSTOF:
00E0 A7 C1          144 		cmpe	#.F
00E2 06 00 ED       145 		brz	.STOF
00E5 A7 E8          146 		cmpe	#0e8h
00E7 06 00 ED       147 		brz	.STOF
00EA 02 00 F5       148 		br  	.CKSTOX
00ED                149 .STOF:			
00ED 20 00 00       150 		call	.X_TO_F
00F0 F3 E8          151 		lda	#0e8h
00F2 02 01 34       152 		br	.EndSTOReg		
00F5                153 .CKSTOX:
00F5 A7 B3          154 		cmpe	#.X
00F7 06 01 02       155 		brz	.STOX
00FA A7 F5          156 		cmpe	#0f5h
00FC 06 01 02       157 		brz	.STOX
00FF 02 01 0A       158 		br  	.CKSTOY
0102                159 .STOX:			
0102 20 00 00       160 		call	.X_TO_X
0105 F3 F5          161 		lda	#0f5h
0107 02 01 34       162 		br	.EndSTOReg		
010A                163 .CKSTOY:
010A A7 B4          164 		cmpe	#.Y
010C 06 01 17       165 		brz	.STOY
010F A7 F6          166 		cmpe	#0f6h
0111 06 01 17       167 		brz	.STOY
0114 02 01 1F       168 		br  	.CKSTOM
0117                169 .STOY:			
0117 20 00 00       170 		call	.X_TO_Y
011A F3 F6          171 		lda	#0f6h
011C 02 01 34       172 		br	.EndSTOReg		
011F                173 .CKSTOM:
011F A7 B5          174 		cmpe	#.M
0121 06 01 2C       175 		brz	.STOM
0124 A7 F7          176 		cmpe	#0f7h
0126 06 01 2C       177 		brz	.STOM
0129 02 01 58       178 		br  	.EndSTO 
012C                179 .STOM:					
012C 20 00 00       180 		call	.X_TO_M		 
012F F3 F7          181 		lda	#0f7h
0131 02 01 34       182 		br	.EndSTOReg
+                   183 
+                   184 		 
0134                185 .EndSTOReg:	
+                   186 		
0134 F9 00          187 		sta0	.KeyPos 
+                   188 		
0136 F3 01          189 		lda	#01h
0138 FC 28          190 		sta	PP
013A F1 00          191 		lda	StateFlag
013C CB 08          192 		anda	#08h		 
013E 06 01 44       193 		brz	1$
0141 20 02 67       194 		call	.IsBaseNMode	
+                   195 1$:		
0144 F5 00          196 		lda0	.FormulaFlag
0146 A7 01          197 		cmpe	#01h
0148 06 01 58       198 		brz	.EndSTO
014B F3 00          199 		lda	#>.SFlag
014D FC 28          200 		sta	PP
014F F1 00          201 		lda	.SFlag
0151 CB BF          202 		anda	#~40h
0153 FD 00          203 		sta	.SFlag
0155 20 02 A9       204 		call	.ShowMem
0158                205 .EndSTO:	
0158 24             206 		ret
+                   207 ;-------------------------------------------
0159                208 .RCLReg::	
+                   209 			
0159 F5 00          210 		lda0	.KeyPos
015B A7 E3          211 		cmpe	#0e3h
015D 06 01 65       212 		brz	.RCLA		
0160 A7 A8          213 		cmpe	#.A
0162 07 01 6D       214 		brnz	.CKRCLB
0165                215 .RCLA:		
0165 20 00 00       216 		call	.A_TO_Z
0168 F3 E3          217 		lda	#0e3h		
016A 02 01 FA       218 		br	.EndRCLReg		
016D                219 .CKRCLB:
016D A7 E4          220 		cmpe	#0e4h
016F 06 01 77       221 		brz	.RclB
0172 A7 B7          222 		cmpe	#.B
0174 07 01 7F       223 		brnz	.CKRCLC
0177                224 .RclB:		
0177 20 00 00       225 		call	.B_TO_Z	
017A F3 E4          226 		lda	#0e4h	
017C 02 01 FA       227 		br	.EndRCLReg		
017F                228 .CKRCLC:
017F A7 E5          229 		cmpe	#0e5h
0181 06 01 89       230 		brz	.RclC
0184 A7 B8          231 		cmpe	#.C
0186 07 01 91       232 		brnz	.CKRCLD
0189                233 .RclC:		
0189 20 00 00       234 		call	.C_TO_Z
018C F3 E5          235 		lda	#0e5h		
018E 02 01 FA       236 		br	.EndRCLReg		
0191                237 .CKRCLD:
0191 A7 E6          238 		cmpe	#0e6h
0193 06 01 9B       239 		brz	.RclD
0196 A7 B9          240 		cmpe	#.D
0198 07 01 A3       241 		brnz	.CKRCLE
019B                242 .RclD:		
019B 20 00 00       243 		call	.D_TO_Z	
019E F3 E6          244 		lda	#0e6h	
01A0 02 01 FA       245 		br	.EndRCLReg		
01A3                246 .CKRCLE:
01A3 A7 E7          247 		cmpe	#0e7h
01A5 06 01 AD       248 		brz	.RclE
01A8 A7 C0          249 		cmpe	#.E
01AA 07 01 B5       250 		brnz	.CKRCLF
01AD                251 .RclE:		
01AD 20 00 00       252 		call	.E_TO_Z	
01B0 F3 E7          253 		lda	#0e7h	
01B2 02 01 FA       254 		br	.EndRCLReg		
01B5                255 .CKRCLF:
01B5 A7 E8          256 		cmpe	#0e8h
01B7 06 01 BF       257 		brz	.RclF
01BA A7 C1          258 		cmpe	#.F
01BC 07 01 C7       259 		brnz	.CKRCLX
01BF                260 .RclF:		
01BF 20 00 00       261 		call	.F_TO_Z	
01C2 F3 E8          262 		lda	#0e8h	
01C4 02 01 FA       263 		br	.EndRCLReg		
01C7                264 .CKRCLX:

⌨️ 快捷键说明

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