📄 eeprom.lst
字号:
01BE 858B LDD R24,Y+11
01BF 859C LDD R25,Y+12
01C0 85AD LDD R26,Y+13
01C1 85BE LDD R27,Y+14
01C2 2EC3 MOV R12,R19
01C3 F00E BRTS 0x01C5
01C4 26CB EOR R12,R27
01C5 9508 RET
long_div_epilog:
01C6 FCC7 SBRC R12,7
01C7 D017 RCALL neg_R16_R19
01C8 91B9 LD R27,Y+
01C9 91A9 LD R26,Y+
01CA 9199 LD R25,Y+
01CB 9189 LD R24,Y+
01CC 91E9 LD R30,Y+
01CD 90C9 LD R12,Y+
01CE 90B9 LD R11,Y+
01CF 90A9 LD R10,Y+
01D0 9099 LD R9,Y+
01D1 9089 LD R8,Y+
01D2 9079 LD R7,Y+
01D3 9624 ADIW R28,4
01D4 9508 RET
tst_R16_R19:
01D5 2FE0 MOV R30,R16
01D6 2BE1 OR R30,R17
01D7 2BE2 OR R30,R18
01D8 2BE3 OR R30,R19
01D9 9508 RET
tst_R24_R27:
01DA 2FE8 MOV R30,R24
01DB 2BE9 OR R30,R25
01DC 2BEA OR R30,R26
01DD 2BEB OR R30,R27
01DE 9508 RET
neg_R16_R19:
01DF 9500 COM R16
01E0 9510 COM R17
01E1 9520 COM R18
01E2 9530 COM R19
01E3 5F0F SUBI R16,0xFF
01E4 4F1F SBCI R17,0xFF
01E5 4F2F SBCI R18,0xFF
01E6 4F3F SBCI R19,0xFF
01E7 9508 RET
neg_R24_R27:
01E8 9580 COM R24
01E9 9590 COM R25
01EA 95A0 COM R26
01EB 95B0 COM R27
01EC 5F8F SUBI R24,0xFF
01ED 4F9F SBCI R25,0xFF
01EE 4FAF SBCI R26,0xFF
01EF 4FBF SBCI R27,0xFF
01F0 9508 RET
mod8u:
01F1 9468 BSET 6
01F2 C001 RJMP xdiv8u
div8u:
01F3 94E8 BCLR 6
xdiv8u:
01F4 932A ST R18,-Y
01F5 92FA ST R15,-Y
01F6 92EA ST R14,-Y
01F7 24FF CLR R15
01F8 24EE CLR R14
01F9 E120 LDI R18,0x10
01FA 0F00 LSL R16
01FB 1CFF ROL R15
01FC 1CEE ROL R14
01FD 16E1 CP R14,R17
01FE F010 BCS 0x0201
01FF 1AE1 SUB R14,R17
0200 9503 INC R16
0201 952A DEC R18
0202 F7B9 BNE 0x01FA
0203 F40E BRTC 0x0205
0204 2D0E MOV R16,R14
0205 90E9 LD R14,Y+
0206 90F9 LD R15,Y+
0207 9129 LD R18,Y+
0208 9508 RET
empy32u:
empy32s:
0209 940E025F CALL long_prolog
020B 927F PUSH R7
020C 940E0278 CALL tstzero1
020E F139 BEQ 0x0236
020F 2477 CLR R7
0210 940E027E CALL tstzero2
0212 F419 BNE 0x0216
0213 018C MOVW R16,R24
0214 019D MOVW R18,R26
0215 C020 RJMP 0x0236
0216 9F08 MUL R16,R24
0217 2CB0 MOV R11,R0
0218 2CA1 MOV R10,R1
0219 9F28 MUL R18,R24
021A 2C90 MOV R9,R0
021B 2C81 MOV R8,R1
021C 9F18 MUL R17,R24
021D 0CA0 ADD R10,R0
021E 1C91 ADC R9,R1
021F 1C87 ADC R8,R7
0220 9F09 MUL R16,R25
0221 0CA0 ADD R10,R0
0222 1C91 ADC R9,R1
0223 1C87 ADC R8,R7
0224 9F19 MUL R17,R25
0225 0C90 ADD R9,R0
0226 1C81 ADC R8,R1
0227 9F0A MUL R16,R26
0228 0C90 ADD R9,R0
0229 1C81 ADC R8,R1
022A 9F38 MUL R19,R24
022B 0C80 ADD R8,R0
022C 9F29 MUL R18,R25
022D 0C80 ADD R8,R0
022E 9F1A MUL R17,R26
022F 0C80 ADD R8,R0
0230 9F0B MUL R16,R27
0231 0C80 ADD R8,R0
0232 2D0B MOV R16,R11
0233 2D1A MOV R17,R10
0234 2D29 MOV R18,R9
0235 2D38 MOV R19,R8
0236 907F POP R7
0237 940C026D JMP long_epilog
pop_gset4:
0239 E0E8 LDI R30,0x8
023A 940C0240 JMP pop
push_gset1:
023C 935A ST R21,-Y
023D 934A ST R20,-Y
023E 9508 RET
pop_gset1:
023F E0E1 LDI R30,1
pop:
0240 9149 LD R20,Y+
0241 9159 LD R21,Y+
0242 FDE0 SBRC R30,0
0243 9508 RET
0244 9169 LD R22,Y+
0245 9179 LD R23,Y+
0246 FDE1 SBRC R30,1
0247 9508 RET
0248 90A9 LD R10,Y+
0249 90B9 LD R11,Y+
024A FDE2 SBRC R30,2
024B 9508 RET
024C 90C9 LD R12,Y+
024D 90D9 LD R13,Y+
024E FDE3 SBRC R30,3
024F 9508 RET
0250 90E9 LD R14,Y+
0251 90F9 LD R15,Y+
0252 9508 RET
push_gset2:
0253 937A ST R23,-Y
0254 936A ST R22,-Y
0255 940C023C JMP push_gset1
push_gset3:
0257 92BA ST R11,-Y
0258 92AA ST R10,-Y
0259 940C0253 JMP push_gset2
push_gset4:
025B 92DA ST R13,-Y
025C 92CA ST R12,-Y
025D 940C0257 JMP push_gset3
long_prolog:
025F 928A ST R8,-Y
0260 929A ST R9,-Y
0261 92AA ST R10,-Y
0262 92BA ST R11,-Y
0263 93EA ST R30,-Y
0264 938A ST R24,-Y
0265 939A ST R25,-Y
0266 93AA ST R26,-Y
0267 93BA ST R27,-Y
0268 8589 LDD R24,Y+9
0269 859A LDD R25,Y+10
026A 85AB LDD R26,Y+11
026B 85BC LDD R27,Y+12
026C 9508 RET
long_epilog:
026D 91B9 LD R27,Y+
026E 91A9 LD R26,Y+
026F 9199 LD R25,Y+
0270 9189 LD R24,Y+
0271 91E9 LD R30,Y+
0272 90B9 LD R11,Y+
0273 90A9 LD R10,Y+
0274 9099 LD R9,Y+
0275 9089 LD R8,Y+
0276 9624 ADIW R28,4
0277 9508 RET
tstzero1:
0278 27EE CLR R30
0279 2BE0 OR R30,R16
027A 2BE1 OR R30,R17
027B 2BE2 OR R30,R18
027C 2BE3 OR R30,R19
027D 9508 RET
tstzero2:
027E 27EE CLR R30
027F 2BE8 OR R30,R24
0280 2BE9 OR R30,R25
0281 2BEA OR R30,R26
0282 2BEB OR R30,R27
0283 9508 RET
asgncblk:
0284 93AA ST R26,-Y
0285 93BA ST R27,-Y
0286 93EA ST R30,-Y
0287 93FA ST R31,-Y
0288 920A ST R0,-Y
0289 81AF LDD R26,Y+7
028A 85B8 LDD R27,Y+8
028B 81ED LDD R30,Y+5
028C 81FE LDD R31,Y+6
028D 3000 CPI R16,0
028E 0701 CPC R16,R17
028F F031 BEQ 0x0296
0290 95C8 LPM
0291 920D ST R0,X+
0292 9631 ADIW R30,1
0293 5001 SUBI R16,1
0294 4010 SBCI R17,0
0295 CFF7 RJMP 0x028D
0296 9009 LD R0,Y+
0297 91F9 LD R31,Y+
0298 91E9 LD R30,Y+
0299 91B9 LD R27,Y+
029A 91A9 LD R26,Y+
029B 9624 ADIW R28,4
029C 9508 RET
_EEPROMread:
029D 99E1 SBIC 0x1C,1
029E CFFE RJMP _EEPROMread
029F BB1F OUT 0x1F,R17
02A0 BB0E OUT 0x1E,R16
02A1 9AE0 SBI 0x1C,0
02A2 B30D IN R16,0x1D
02A3 9508 RET
_EEPROMwrite:
02A4 940E023C CALL push_gset1
02A6 99E1 SBIC 0x1C,1
02A7 CFFE RJMP 0x02A6
02A8 BB1F OUT 0x1F,R17
02A9 BB0E OUT 0x1E,R16
02AA BB2D OUT 0x1D,R18
02AB B74F IN R20,0x3F
02AC 94F8 BCLR 7
02AD 9AE2 SBI 0x1C,2
02AE 9AE1 SBI 0x1C,1
02AF BF4F OUT 0x3F,R20
02B0 2700 CLR R16
02B1 2711 CLR R17
02B2 940E023F CALL pop_gset1
02B4 9508 RET
_EEPROMReadBytes:
02B5 940E025B CALL push_gset4
02B7 2EC2 MOV R12,R18
02B8 2ED3 MOV R13,R19
02B9 2EA0 MOV R10,R16
02BA 2EB1 MOV R11,R17
02BB 8568 LDD R22,Y+8
02BC 8579 LDD R23,Y+9
02BD 2D4C MOV R20,R12
02BE 2D5D MOV R21,R13
02BF C00E RJMP 0x02CE
02C0 2D0A MOV R16,R10
02C1 2D1B MOV R17,R11
02C2 940E029D CALL _EEPROMread
02C4 2FE4 MOV R30,R20
02C5 2FF5 MOV R31,R21
02C6 8300 STD Z+0,R16
02C7 2D8A MOV R24,R10
02C8 2D9B MOV R25,R11
02C9 9601 ADIW R24,1
02CA 2EA8 MOV R10,R24
02CB 2EB9 MOV R11,R25
02CC 5F4F SUBI R20,0xFF
02CD 4F5F SBCI R21,0xFF
02CE 2E26 MOV R2,R22
02CF 2E37 MOV R3,R23
02D0 5061 SUBI R22,1
02D1 4070 SBCI R23,0
02D2 2022 TST R2
02D3 F761 BNE 0x02C0
02D4 2033 TST R3
02D5 F751 BNE 0x02C0
02D6 940E0239 CALL pop_gset4
02D8 9508 RET
_EEPROMWriteBytes:
02D9 940E025B CALL push_gset4
02DB 2EC2 MOV R12,R18
02DC 2ED3 MOV R13,R19
02DD 2EA0 MOV R10,R16
02DE 2EB1 MOV R11,R17
02DF 8568 LDD R22,Y+8
02E0 8579 LDD R23,Y+9
02E1 2D4C MOV R20,R12
02E2 2D5D MOV R21,R13
02E3 C00E RJMP 0x02F2
02E4 2FE4 MOV R30,R20
02E5 2FF5 MOV R31,R21
02E6 8120 LDD R18,Z+0
02E7 2D0A MOV R16,R10
02E8 2D1B MOV R17,R11
02E9 940E02A4 CALL _EEPROMwrite
02EB 2D8A MOV R24,R10
02EC 2D9B MOV R25,R11
02ED 9601 ADIW R24,1
02EE 2EA8 MOV R10,R24
02EF 2EB9 MOV R11,R25
02F0 5F4F SUBI R20,0xFF
02F1 4F5F SBCI R21,0xFF
02F2 2E26 MOV R2,R22
02F3 2E37 MOV R3,R23
02F4 5061 SUBI R22,1
02F5 4070 SBCI R23,0
02F6 2022 TST R2
02F7 F761 BNE 0x02E4
02F8 2033 TST R3
02F9 F751 BNE 0x02E4
02FA 940E0239 CALL pop_gset4
02FC 9508 RET
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -