📄 storedata.asl
字号:
+ 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 + -