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

📄 eeprom.lst

📁 AVR microcontrol programme is a EEROM example
💻 LST
📖 第 1 页 / 共 4 页
字号:
    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 + -