📄 memtools.asl
字号:
+ 1 ;/slow clock : 32768khz
+ 2 ;/programer : Alton
+ 3 ;
+ 4 ;
+ 5
+B 00 01
+ 6 .area Memtools_data(data,abs)
+ 7 ;.org 0x167
+ 8 ;.CntBytes EQU 0x07
+ 9 .org 0x16c
0008 10 .CntBytes EQU 0x08
006F 11 .P1RAM EQU 0x6f
00B9 12 .P3RAM EQU 0xb9
016C 13 SDBuf::
016C 14 LRBuf::
016C 15 QRBuf::
016C 16 SignCnt::
016C 17 SignYCnt::
016C 18 SignXCnt::
016C 19 SignC:: .ds 1
016D 20 PointYCnt::
016D 21 PointXCnt::
016D 22 PointC:: .ds 1
016E 23 YCnt::
016E 24 XCnt::
016E 25 OperandC:: .ds .CntBytes
+ 26
0176 27 SignXSum::
0176 28 Sign_B:: .ds 1
0177 29 PointXSum::
0177 30 Point_B:: .ds 1
0178 31 XSum::
0178 32 Operand_B:: .ds .CntBytes
+ 33
0180 34 SignXSquSum::
0180 35 SignA:: .ds 1
0181 36 PointXSquSum::
0181 37 PointA:: .ds 1
0182 38 SDBufEnd::
0182 39 XSquSum::
0182 40 OperandA:: .ds .CntBytes
+ 41
018A 42 SignYSum::
018A 43 SignE:: .ds 1
018B 44 PointYSum::
018B 45 PointE:: .ds 1
018C 46 YSum::
018C 47 OperandE:: .ds .CntBytes
+ 48
0194 49 SignYSquSum::
0194 50 SignD:: .ds 1
0195 51 PointYSquSum::
0195 52 PointD:: .ds 1
0196 53 YSquSum::
0196 54 OperandD:: .ds .CntBytes
+ 55
+ 56
+ 57
019E 58 SignXYSum::
019E 59 SignF:: .ds 1
019F 60 PointXYSum::
019F 61 PointF:: .ds 1
01A0 62 LRBufEnd::
01A0 63 XYSum::
01A0 64 OperandF:: .ds .CntBytes
+ 65
+ 66
+ 67
01A8 68 DaltaXcnt:: .ds 1
01A9 69 .SetFlag:: .ds 1
01AA 70 .ForLDP:: .ds 1
01AB 71 .Count:: .ds 1
01AC 72 .SRFlag:: .ds 1
01AD 73 .CalcFlag:: .ds 1
+ 74 ;;SetFlag 7 6 5 4 3 2 1 0
+ 75 ;; D R G RND
+B 00 02
+ 76 .area Memtools_code(code,rel)
+ 77 ;------------(A_COPY_X,Y,Z)-----------
0000 78 .A_TO_X::
+ 79
0000 F3 80 80 lda #<SignA
0002 F9 00 81 sta0 .PXDP
0004 F3 00 82 lda #<SignX
0006 F9 00 83 sta0 .PYDP
0008 F3 01 84 lda #>SignA
000A F9 00 85 sta0 .PXPP
000C F3 00 86 lda #>SignX
000E F9 00 87 sta0 .PYPP
0010 20 00 00 88 call .CopyData
0013 24 89 ret
0014 90 .A_TO_Y::
+ 91
0014 F3 80 92 lda #<SignA
0016 F9 00 93 sta0 .PXDP
0018 F3 00 94 lda #<SignY
001A F9 00 95 sta0 .PYDP
001C F3 01 96 lda #>SignA
001E F9 00 97 sta0 .PXPP
0020 F3 00 98 lda #>SignY
0022 F9 00 99 sta0 .PYPP
0024 20 00 00 100 call .CopyData
0027 24 101 ret
0028 102 .A_TO_Z::
+ 103
0028 F3 80 104 lda #<SignA
002A F9 00 105 sta0 .PXDP
002C F3 00 106 lda #<SignZ
002E F9 00 107 sta0 .PYDP
0030 F3 01 108 lda #>SignA
0032 F9 00 109 sta0 .PXPP
0034 F3 00 110 lda #>SignZ
0036 F9 00 111 sta0 .PYPP
0038 20 00 00 112 call .CopyData
003B 24 113 ret
+ 114 ;------------(B_COPY_X,Y,Z)-----------
003C 115 .B_TO_X::
+ 116
003C F3 76 117 lda #<Sign_B
003E F9 00 118 sta0 .PXDP
0040 F3 00 119 lda #<SignX
0042 F9 00 120 sta0 .PYDP
0044 F3 01 121 lda #>Sign_B
0046 F9 00 122 sta0 .PXPP
0048 F3 00 123 lda #>SignX
004A F9 00 124 sta0 .PYPP
004C 20 00 00 125 call .CopyData
004F 24 126 ret
0050 127 .B_TO_Y::
+ 128
0050 F3 76 129 lda #<Sign_B
0052 F9 00 130 sta0 .PXDP
0054 F3 00 131 lda #<SignY
0056 F9 00 132 sta0 .PYDP
0058 F3 01 133 lda #>Sign_B
005A F9 00 134 sta0 .PXPP
005C F3 00 135 lda #>SignY
005E F9 00 136 sta0 .PYPP
0060 20 00 00 137 call .CopyData
0063 24 138 ret
0064 139 .B_TO_Z::
0064 F3 76 140 lda #<Sign_B
0066 F9 00 141 sta0 .PXDP
0068 F3 00 142 lda #<SignZ
006A F9 00 143 sta0 .PYDP
006C F3 01 144 lda #>Sign_B
006E F9 00 145 sta0 .PXPP
0070 F3 00 146 lda #>SignZ
0072 F9 00 147 sta0 .PYPP
0074 20 00 00 148 call .CopyData
0077 24 149 ret
+ 150 ;------------(C_COPY_X,Y,Z)-----------
0078 151 .C_TO_X::
+ 152
0078 F3 6C 153 lda #<SignC
007A F9 00 154 sta0 .PXDP
007C F3 00 155 lda #<SignX
007E F9 00 156 sta0 .PYDP
0080 F3 01 157 lda #>SignC
0082 F9 00 158 sta0 .PXPP
0084 F3 00 159 lda #>SignX
0086 F9 00 160 sta0 .PYPP
0088 20 00 00 161 call .CopyData
008B 24 162 ret
008C 163 .C_TO_Y::
+ 164
008C F3 6C 165 lda #<SignC
008E F9 00 166 sta0 .PXDP
0090 F3 00 167 lda #<SignY
0092 F9 00 168 sta0 .PYDP
0094 F3 01 169 lda #>SignC
0096 F9 00 170 sta0 .PXPP
0098 F3 00 171 lda #>SignY
009A F9 00 172 sta0 .PYPP
009C 20 00 00 173 call .CopyData
009F 24 174 ret
00A0 175 .C_TO_Z::
00A0 F3 6C 176 lda #<SignC
00A2 F9 00 177 sta0 .PXDP
00A4 F3 00 178 lda #<SignZ
00A6 F9 00 179 sta0 .PYDP
00A8 F3 01 180 lda #>SignC
00AA F9 00 181 sta0 .PXPP
00AC F3 00 182 lda #>SignZ
00AE F9 00 183 sta0 .PYPP
00B0 20 00 00 184 call .CopyData
00B3 24 185 ret
+ 186 ;------------(D_COPY_X,Y,Z)-----------
00B4 187 .D_TO_X::
+ 188
00B4 F3 94 189 lda #<SignD
00B6 F9 00 190 sta0 .PXDP
00B8 F3 00 191 lda #<SignX
00BA F9 00 192 sta0 .PYDP
00BC F3 01 193 lda #>SignD
00BE F9 00 194 sta0 .PXPP
00C0 F3 00 195 lda #>SignX
00C2 F9 00 196 sta0 .PYPP
00C4 20 00 00 197 call .CopyData
00C7 24 198 ret
00C8 199 .D_TO_Y::
+ 200
00C8 F3 94 201 lda #<SignD
00CA F9 00 202 sta0 .PXDP
00CC F3 00 203 lda #<SignY
00CE F9 00 204 sta0 .PYDP
00D0 F3 01 205 lda #>SignD
00D2 F9 00 206 sta0 .PXPP
00D4 F3 00 207 lda #>SignY
00D6 F9 00 208 sta0 .PYPP
00D8 20 00 00 209 call .CopyData
00DB 24 210 ret
00DC 211 .D_TO_Z::
00DC F3 94 212 lda #<SignD
00DE F9 00 213 sta0 .PXDP
00E0 F3 00 214 lda #<SignZ
00E2 F9 00 215 sta0 .PYDP
00E4 F3 01 216 lda #>SignD
00E6 F9 00 217 sta0 .PXPP
00E8 F3 00 218 lda #>SignZ
00EA F9 00 219 sta0 .PYPP
00EC 20 00 00 220 call .CopyData
00EF 24 221 ret
+ 222 ;------------(E_COPY_X,Y,Z)-----------
+ 223
00F0 224 .E_TO_Z::
+ 225
00F0 F3 8A 226 lda #<SignE
00F2 F9 00 227 sta0 .PXDP
00F4 F3 00 228 lda #<SignZ
00F6 F9 00 229 sta0 .PYDP
00F8 F3 01 230 lda #>SignE
00FA F9 00 231 sta0 .PXPP
00FC F3 00 232 lda #>SignZ
00FE F9 00 233 sta0 .PYPP
0100 20 00 00 234 call .CopyData
0103 24 235 ret
0104 236 .E_TO_Y::
+ 237
0104 F3 8A 238 lda #<SignE
0106 F9 00 239 sta0 .PXDP
0108 F3 00 240 lda #<SignY
010A F9 00 241 sta0 .PYDP
010C F3 01 242 lda #>SignE
010E F9 00 243 sta0 .PXPP
0110 F3 00 244 lda #>SignY
0112 F9 00 245 sta0 .PYPP
0114 20 00 00 246 call .CopyData
0117 24 247 ret
+ 248 ;------------(F_COPY_X,Y,Z)-----------
+ 249
0118 250 .F_TO_Z::
+ 251
0118 F3 9E 252 lda #<SignF
011A F9 00 253 sta0 .PXDP
011C F3 00 254 lda #<SignZ
011E F9 00 255 sta0 .PYDP
0120 F3 01 256 lda #>SignF
0122 F9 00 257 sta0 .PXPP
0124 F3 00 258 lda #>SignZ
0126 F9 00 259 sta0 .PYPP
0128 20 00 00 260 call .CopyData
012B 24 261 ret
+ 262 ;------------(X_COPY_X,Y,Z)-----------
+ 263
012C 264 .X_TO_Z::
+ 265
012C F3 00 266 lda #<Sign_X
012E F9 00 267 sta0 .PXDP
0130 F3 00 268 lda #<SignZ
0132 F9 00 269 sta0 .PYDP
0134 F3 00 270 lda #>Sign_X
0136 F9 00 271 sta0 .PXPP
0138 F3 00 272 lda #>SignZ
013A F9 00 273 sta0 .PYPP
013C 20 00 00 274 call .CopyData
013F 24 275 ret
+ 276 ;------------(Y_COPY_X,Y,Z)-----------
+ 277
0140 278 .Y_TO_Z::
0140 F3 00 279 lda #<Sign_Y
0142 F9 00 280 sta0 .PXDP
0144 F3 00 281 lda #<SignZ
0146 F9 00 282 sta0 .PYDP
0148 F3 00 283 lda #>Sign_Y
014A F9 00 284 sta0 .PXPP
014C F3 00 285 lda #>SignZ
014E F9 00 286 sta0 .PYPP
0150 20 00 00 287 call .CopyData
0153 24 288 ret
+ 289 ;------------(M_COPY_X,Y,Z)-----------
+ 290
0154 291 .M_TO_Z::
0154 F3 00 292 lda #<SignM
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -