📄 eeprom.lst
字号:
022A 019E MOVW R18,R28
022B 5F2E SUBI R18,0xFE
022C 4F3F SBCI R19,0xFF
022D E001 LDI R16,1
022E E010 LDI R17,0
022F 940E0363 CALL _EEPROMReadBytes
(0064) for(i=0;i<7;i++)
0231 2744 CLR R20
0232 C00C RJMP 0x023F
(0065) {
(0066) delay50ms(40); //有2S的观察时间
0233 E208 LDI R16,0x28
0234 E010 LDI R17,0
0235 DFB2 RCALL _delay50ms
(0067) DISP_PORT=rdDat_[i]; //读出用指示灯验证是否正确
0236 01CE MOVW R24,R28
0237 9602 ADIW R24,2
0238 2FE4 MOV R30,R20
0239 27FF CLR R31
023A 0FE8 ADD R30,R24
023B 1FF9 ADC R31,R25
023C 8020 LDD R2,Z+0
023D BA28 OUT 0x18,R2
023E 9543 INC R20
023F 3047 CPI R20,7
0240 F390 BCS 0x0233
(0068) }
(0069) while(1);
FILE: <library>
0241 CFFF RJMP 0x0241
0242 9662 ADIW R28,0x12
0243 9508 RET
push_arg4:
0244 933A ST R19,-Y
0245 932A ST R18,-Y
push_arg2:
0246 931A ST R17,-Y
0247 930A ST R16,-Y
0248 9508 RET
div32u:
0249 94E8 BCLR 6
024A C001 RJMP 0x024C
mod32u:
024B 9468 BSET 6
024C D02F RCALL long_div_prolog
024D 24CC CLR R12
024E C008 RJMP 0x0257
div32s:
024F 94E8 BCLR 6
0250 C001 RJMP 0x0252
mod32s:
0251 9468 BSET 6
0252 D029 RCALL long_div_prolog
0253 FD37 SBRC R19,7
0254 D053 RCALL neg_R16_R19
0255 FDB7 SBRC R27,7
0256 D05A RCALL neg_R24_R27
0257 2477 CLR R7
0258 2488 CLR R8
0259 2499 CLR R9
025A 24AA CLR R10
025B 24BB CLR R11
025C D041 RCALL tst_R16_R19
025D F0C1 BEQ 0x0276
025E D044 RCALL tst_R24_R27
025F F0B1 BEQ 0x0276
0260 E2E8 LDI R30,0x28
0261 0F00 LSL R16
0262 1F11 ROL R17
0263 1F22 ROL R18
0264 1F33 ROL R19
0265 1C77 ROL R7
0266 1C88 ROL R8
0267 1C99 ROL R9
0268 1CAA ROL R10
0269 1CBB ROL R11
026A 1688 CP R8,R24
026B 0699 CPC R9,R25
026C 06AA CPC R10,R26
026D 06BB CPC R11,R27
026E F028 BCS 0x0274
026F 1A88 SUB R8,R24
0270 0A99 SBC R9,R25
0271 0AAA SBC R10,R26
0272 0ABB SBC R11,R27
0273 9503 INC R16
0274 95EA DEC R30
0275 F759 BNE 0x0261
0276 F426 BRTC 0x027B
0277 2D08 MOV R16,R8
0278 2D19 MOV R17,R9
0279 2D2A MOV R18,R10
027A 2D3B MOV R19,R11
027B C013 RJMP long_div_epilog
long_div_prolog:
027C 927A ST R7,-Y
027D 928A ST R8,-Y
027E 929A ST R9,-Y
027F 92AA ST R10,-Y
0280 92BA ST R11,-Y
0281 92CA ST R12,-Y
0282 93EA ST R30,-Y
0283 938A ST R24,-Y
0284 939A ST R25,-Y
0285 93AA ST R26,-Y
0286 93BA ST R27,-Y
0287 858B LDD R24,Y+11
0288 859C LDD R25,Y+12
0289 85AD LDD R26,Y+13
028A 85BE LDD R27,Y+14
028B 2EC3 MOV R12,R19
028C F00E BRTS 0x028E
028D 26CB EOR R12,R27
028E 9508 RET
long_div_epilog:
028F FCC7 SBRC R12,7
0290 D017 RCALL neg_R16_R19
0291 91B9 LD R27,Y+
0292 91A9 LD R26,Y+
0293 9199 LD R25,Y+
0294 9189 LD R24,Y+
0295 91E9 LD R30,Y+
0296 90C9 LD R12,Y+
0297 90B9 LD R11,Y+
0298 90A9 LD R10,Y+
0299 9099 LD R9,Y+
029A 9089 LD R8,Y+
029B 9079 LD R7,Y+
029C 9624 ADIW R28,4
029D 9508 RET
tst_R16_R19:
029E 2FE0 MOV R30,R16
029F 2BE1 OR R30,R17
02A0 2BE2 OR R30,R18
02A1 2BE3 OR R30,R19
02A2 9508 RET
tst_R24_R27:
02A3 2FE8 MOV R30,R24
02A4 2BE9 OR R30,R25
02A5 2BEA OR R30,R26
02A6 2BEB OR R30,R27
02A7 9508 RET
neg_R16_R19:
02A8 9500 COM R16
02A9 9510 COM R17
02AA 9520 COM R18
02AB 9530 COM R19
02AC 5F0F SUBI R16,0xFF
02AD 4F1F SBCI R17,0xFF
02AE 4F2F SBCI R18,0xFF
02AF 4F3F SBCI R19,0xFF
02B0 9508 RET
neg_R24_R27:
02B1 9580 COM R24
02B2 9590 COM R25
02B3 95A0 COM R26
02B4 95B0 COM R27
02B5 5F8F SUBI R24,0xFF
02B6 4F9F SBCI R25,0xFF
02B7 4FAF SBCI R26,0xFF
02B8 4FBF SBCI R27,0xFF
02B9 9508 RET
empy32s:
empy32u:
02BA 940E030F CALL long_prolog
02BC 927F PUSH R7
02BD 940E0328 CALL tstzero1
02BF F139 BEQ 0x02E7
02C0 2477 CLR R7
02C1 940E032E CALL tstzero2
02C3 F419 BNE 0x02C7
02C4 018C MOVW R16,R24
02C5 019D MOVW R18,R26
02C6 C020 RJMP 0x02E7
02C7 9F08 MUL R16,R24
02C8 2CB0 MOV R11,R0
02C9 2CA1 MOV R10,R1
02CA 9F28 MUL R18,R24
02CB 2C90 MOV R9,R0
02CC 2C81 MOV R8,R1
02CD 9F18 MUL R17,R24
02CE 0CA0 ADD R10,R0
02CF 1C91 ADC R9,R1
02D0 1C87 ADC R8,R7
02D1 9F09 MUL R16,R25
02D2 0CA0 ADD R10,R0
02D3 1C91 ADC R9,R1
02D4 1C87 ADC R8,R7
02D5 9F19 MUL R17,R25
02D6 0C90 ADD R9,R0
02D7 1C81 ADC R8,R1
02D8 9F0A MUL R16,R26
02D9 0C90 ADD R9,R0
02DA 1C81 ADC R8,R1
02DB 9F38 MUL R19,R24
02DC 0C80 ADD R8,R0
02DD 9F29 MUL R18,R25
02DE 0C80 ADD R8,R0
02DF 9F1A MUL R17,R26
02E0 0C80 ADD R8,R0
02E1 9F0B MUL R16,R27
02E2 0C80 ADD R8,R0
02E3 2D0B MOV R16,R11
02E4 2D1A MOV R17,R10
02E5 2D29 MOV R18,R9
02E6 2D38 MOV R19,R8
02E7 907F POP R7
02E8 940C031D JMP long_epilog
pop_gset2:
02EA E0E2 LDI R30,2
02EB 940C02FC JMP pop
pop_gset4:
02ED E0E8 LDI R30,0x8
02EE 940C02FC JMP pop
push_gset5:
02F0 92FA ST R15,-Y
02F1 92EA ST R14,-Y
push_gset4:
02F2 92DA ST R13,-Y
02F3 92CA ST R12,-Y
push_gset3:
02F4 92BA ST R11,-Y
02F5 92AA ST R10,-Y
push_gset2:
02F6 937A ST R23,-Y
02F7 936A ST R22,-Y
push_gset1:
02F8 935A ST R21,-Y
02F9 934A ST R20,-Y
02FA 9508 RET
pop_gset1:
02FB E0E1 LDI R30,1
pop:
02FC 9149 LD R20,Y+
02FD 9159 LD R21,Y+
02FE FDE0 SBRC R30,0
02FF 9508 RET
0300 9169 LD R22,Y+
0301 9179 LD R23,Y+
0302 FDE1 SBRC R30,1
0303 9508 RET
0304 90A9 LD R10,Y+
0305 90B9 LD R11,Y+
0306 FDE2 SBRC R30,2
0307 9508 RET
0308 90C9 LD R12,Y+
0309 90D9 LD R13,Y+
030A FDE3 SBRC R30,3
030B 9508 RET
030C 90E9 LD R14,Y+
030D 90F9 LD R15,Y+
030E 9508 RET
long_prolog:
030F 928A ST R8,-Y
0310 929A ST R9,-Y
0311 92AA ST R10,-Y
0312 92BA ST R11,-Y
0313 93EA ST R30,-Y
0314 938A ST R24,-Y
0315 939A ST R25,-Y
0316 93AA ST R26,-Y
0317 93BA ST R27,-Y
0318 8589 LDD R24,Y+9
0319 859A LDD R25,Y+10
031A 85AB LDD R26,Y+11
031B 85BC LDD R27,Y+12
031C 9508 RET
long_epilog:
031D 91B9 LD R27,Y+
031E 91A9 LD R26,Y+
031F 9199 LD R25,Y+
0320 9189 LD R24,Y+
0321 91E9 LD R30,Y+
0322 90B9 LD R11,Y+
0323 90A9 LD R10,Y+
0324 9099 LD R9,Y+
0325 9089 LD R8,Y+
0326 9624 ADIW R28,4
0327 9508 RET
tstzero1:
0328 27EE CLR R30
0329 2BE0 OR R30,R16
032A 2BE1 OR R30,R17
032B 2BE2 OR R30,R18
032C 2BE3 OR R30,R19
032D 9508 RET
tstzero2:
032E 27EE CLR R30
032F 2BE8 OR R30,R24
0330 2BE9 OR R30,R25
0331 2BEA OR R30,R26
0332 2BEB OR R30,R27
0333 9508 RET
asgncblk:
0334 93AA ST R26,-Y
0335 93BA ST R27,-Y
0336 93EA ST R30,-Y
0337 93FA ST R31,-Y
0338 920A ST R0,-Y
0339 81AF LDD R26,Y+7
033A 85B8 LDD R27,Y+8
033B 81ED LDD R30,Y+5
033C 81FE LDD R31,Y+6
033D 3000 CPI R16,0
033E 0701 CPC R16,R17
033F F031 BEQ 0x0346
0340 95C8 LPM
0341 920D ST R0,X+
0342 9631 ADIW R30,1
0343 5001 SUBI R16,1
0344 4010 SBCI R17,0
0345 CFF7 RJMP 0x033D
0346 9009 LD R0,Y+
0347 91F9 LD R31,Y+
0348 91E9 LD R30,Y+
0349 91B9 LD R27,Y+
034A 91A9 LD R26,Y+
034B 9624 ADIW R28,4
034C 9508 RET
_EEPROMread:
034D BB1F OUT 0x1F,R17
034E BB0E OUT 0x1E,R16
034F 9AE0 SBI 0x1C,0
0350 B30D IN R16,0x1D
0351 9508 RET
_EEPROMwrite:
0352 940E02F8 CALL push_gset1
0354 BB1F OUT 0x1F,R17
0355 BB0E OUT 0x1E,R16
0356 BB2D OUT 0x1D,R18
0357 B74F IN R20,0x3F
0358 94F8 BCLR 7
0359 9AE2 SBI 0x1C,2
035A 9AE1 SBI 0x1C,1
035B 99E1 SBIC 0x1C,1
035C CFFE RJMP 0x035B
035D BF4F OUT 0x3F,R20
035E 2700 CLR R16
035F 2711 CLR R17
0360 940E02FB CALL pop_gset1
0362 9508 RET
_EEPROMReadBytes:
0363 940E02F2 CALL push_gset4
0365 2EC2 MOV R12,R18
0366 2ED3 MOV R13,R19
0367 2EA0 MOV R10,R16
0368 2EB1 MOV R11,R17
0369 8568 LDD R22,Y+8
036A 8579 LDD R23,Y+9
036B 2D4C MOV R20,R12
036C 2D5D MOV R21,R13
036D C00E RJMP 0x037C
036E 2D0A MOV R16,R10
036F 2D1B MOV R17,R11
0370 940E034D CALL _EEPROMread
0372 2FE4 MOV R30,R20
0373 2FF5 MOV R31,R21
0374 8300 STD Z+0,R16
0375 2D8A MOV R24,R10
0376 2D9B MOV R25,R11
0377 9601 ADIW R24,1
0378 2EA8 MOV R10,R24
0379 2EB9 MOV R11,R25
037A 5F4F SUBI R20,0xFF
037B 4F5F SBCI R21,0xFF
037C 2E26 MOV R2,R22
037D 2E37 MOV R3,R23
037E 5061 SUBI R22,1
037F 4070 SBCI R23,0
0380 2022 TST R2
0381 F761 BNE 0x036E
0382 2033 TST R3
0383 F751 BNE 0x036E
0384 940E02ED CALL pop_gset4
0386 9508 RET
_EEPROMWriteBytes:
0387 940E02F2 CALL push_gset4
0389 2EC2 MOV R12,R18
038A 2ED3 MOV R13,R19
038B 2EA0 MOV R10,R16
038C 2EB1 MOV R11,R17
038D 8568 LDD R22,Y+8
038E 8579 LDD R23,Y+9
038F 2D4C MOV R20,R12
0390 2D5D MOV R21,R13
0391 C00E RJMP 0x03A0
0392 2FE4 MOV R30,R20
0393 2FF5 MOV R31,R21
0394 8120 LDD R18,Z+0
0395 2D0A MOV R16,R10
0396 2D1B MOV R17,R11
0397 940E0352 CALL _EEPROMwrite
0399 2D8A MOV R24,R10
039A 2D9B MOV R25,R11
039B 9601 ADIW R24,1
039C 2EA8 MOV R10,R24
039D 2EB9 MOV R11,R25
039E 5F4F SUBI R20,0xFF
039F 4F5F SBCI R21,0xFF
03A0 2E26 MOV R2,R22
03A1 2E37 MOV R3,R23
03A2 5061 SUBI R22,1
03A3 4070 SBCI R23,0
03A4 2022 TST R2
03A5 F761 BNE 0x0392
03A6 2033 TST R3
03A7 F751 BNE 0x0392
03A8 940E02ED CALL pop_gset4
03AA 9508 RET
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -