📄 eeprom.lst
字号:
303:C:/WinAVR/avr/include/avr/eeprom.h **** "movw __tmp_reg__,%A1" CR_TAB
304:C:/WinAVR/avr/include/avr/eeprom.h **** #else
305:C:/WinAVR/avr/include/avr/eeprom.h **** "mov __tmp_reg__,%A1" CR_TAB
306:C:/WinAVR/avr/include/avr/eeprom.h **** "mov __zero_reg__,%B1" CR_TAB
307:C:/WinAVR/avr/include/avr/eeprom.h **** #endif
308:C:/WinAVR/avr/include/avr/eeprom.h **** XCALL " __eeprom_write_word_" _REG_LOCATION_SUFFIX CR_TAB
309:C:/WinAVR/avr/include/avr/eeprom.h **** : "+x" (addr)
310:C:/WinAVR/avr/include/avr/eeprom.h **** : "r" (value)
311:C:/WinAVR/avr/include/avr/eeprom.h **** : "memory"
312:C:/WinAVR/avr/include/avr/eeprom.h **** );
313:C:/WinAVR/avr/include/avr/eeprom.h **** }
314:C:/WinAVR/avr/include/avr/eeprom.h ****
315:C:/WinAVR/avr/include/avr/eeprom.h **** /** \ingroup avr_eeprom
316:C:/WinAVR/avr/include/avr/eeprom.h **** Write a block of \c n bytes to EEPROM address \c pointer_eeprom from
317:C:/WinAVR/avr/include/avr/eeprom.h **** \c pointer_ram. */
318:C:/WinAVR/avr/include/avr/eeprom.h ****
319:C:/WinAVR/avr/include/avr/eeprom.h **** void
320:C:/WinAVR/avr/include/avr/eeprom.h **** eeprom_write_block (const void *pointer_ram,
321:C:/WinAVR/avr/include/avr/eeprom.h **** void *pointer_eeprom,
322:C:/WinAVR/avr/include/avr/eeprom.h **** size_t n)
323:C:/WinAVR/avr/include/avr/eeprom.h **** {
226 .LM12:
227 0032 842F mov r24,r20
228 0034 9927 clr r25
229 .LBB7:
230 .LBB8:
324:C:/WinAVR/avr/include/avr/eeprom.h **** if (!__builtin_constant_p (n)
325:C:/WinAVR/avr/include/avr/eeprom.h **** || n > 256)
326:C:/WinAVR/avr/include/avr/eeprom.h **** {
327:C:/WinAVR/avr/include/avr/eeprom.h **** /* make sure size is a 16 bit variable. */
328:C:/WinAVR/avr/include/avr/eeprom.h **** uint16_t size = n;
329:C:/WinAVR/avr/include/avr/eeprom.h ****
330:C:/WinAVR/avr/include/avr/eeprom.h **** asm volatile (
232 .LM13:
233 /* #APP */
234 .79_start:
235 0036 0197 sbiw r24,1
236 0038 1CF0 brlt .79_finished
237 003a 0190 ld __tmp_reg__,z+
238 003c 00D0 rcall __eeprom_write_byte_1C1D1E
239 003e FBCF rjmp .79_start
240 .79_finished:
241 /* #NOAPP */
242 .LBE8:
243 .LBE7:
244 .LBE6:
245 /* epilogue: frame size=0 */
246 0040 0895 ret
247 /* epilogue end (size=1) */
248 /* function Write_EEProm_block size 25 (24) */
258 .Lscope2:
261 .global Read_EEProm_byte
263 Read_EEProm_byte:
265 .Ltext6:
45:driver/EEProm.c **** }
46:driver/EEProm.c **** eeprom_write_block(prd_addr,pwr_addr,size);
47:driver/EEProm.c **** }
48:driver/EEProm.c **** //-------------------------------------------------------------------
49:driver/EEProm.c **** uchar Read_EEProm_byte(const uchar *prd_addr)
50:driver/EEProm.c **** {
267 .LM14:
268 /* prologue: frame size=0 */
269 /* prologue end (size=0) */
270 0042 DC01 movw r26,r24
51:driver/EEProm.c **** uchar temp;
52:driver/EEProm.c ****
53:driver/EEProm.c **** while (!eeprom_is_ready())
54:driver/EEProm.c **** {
55:driver/EEProm.c **** wdt_reset();
272 .LM15:
273 0044 E19B sbis 60-0x20,1
274 0046 03C0 rjmp .L34
275 .L31:
277 .LM16:
278 /* #APP */
279 0048 A895 wdr
280 /* #NOAPP */
281 004a E199 sbic 60-0x20,1
282 004c FDCF rjmp .L31
283 .L34:
284 .LBB9:
285 .LBB10:
287 .Ltext7:
289 .LM17:
290 /* #APP */
291 004e 00D0 rcall __eeprom_read_byte_1C1D1E
292 0050 802D mov r24,__tmp_reg__
293 /* #NOAPP */
294 .LBE10:
295 .LBE9:
297 .Ltext8:
56:driver/EEProm.c **** }
57:driver/EEProm.c **** temp = eeprom_read_byte(prd_addr);
58:driver/EEProm.c **** return (temp);
59:driver/EEProm.c **** }
299 .LM18:
300 0052 9927 clr r25
301 /* epilogue: frame size=0 */
302 0054 0895 ret
303 /* epilogue end (size=1) */
304 /* function Read_EEProm_byte size 13 (12) */
312 .Lscope3:
315 .global Read_EEProm_word
317 Read_EEProm_word:
60:driver/EEProm.c **** //--------------------------------------------------------------------
61:driver/EEProm.c **** uint Read_EEProm_word(const uint *prd_addr)
62:driver/EEProm.c **** {
319 .LM19:
320 /* prologue: frame size=0 */
321 /* prologue end (size=0) */
322 0056 DC01 movw r26,r24
63:driver/EEProm.c **** uint temp;
64:driver/EEProm.c ****
65:driver/EEProm.c **** while (!eeprom_is_ready())
66:driver/EEProm.c **** {
67:driver/EEProm.c **** wdt_reset();
324 .LM20:
325 0058 E19B sbis 60-0x20,1
326 005a 03C0 rjmp .L41
327 .L38:
329 .LM21:
330 /* #APP */
331 005c A895 wdr
332 /* #NOAPP */
333 005e E199 sbic 60-0x20,1
334 0060 FDCF rjmp .L38
335 .L41:
68:driver/EEProm.c **** }
69:driver/EEProm.c **** temp = eeprom_read_word(prd_addr);
70:driver/EEProm.c **** return (temp);
71:driver/EEProm.c **** }
337 .LM22:
338 /* #APP */
339 0062 00D0 rcall __eeprom_read_word_1C1D1E
340
341 /* #NOAPP */
342 0064 CF01 movw r24,r30
343 /* epilogue: frame size=0 */
344 0066 0895 ret
345 /* epilogue end (size=1) */
346 /* function Read_EEProm_word size 13 (12) */
348 .Lscope4:
353 .global Read_EEProm_block
355 Read_EEProm_block:
72:driver/EEProm.c **** //---------------------------------------------------------------------
73:driver/EEProm.c **** void Read_EEProm_block(void *pbuf, const void *prd_addr,uchar size)
74:driver/EEProm.c **** {
357 .LM23:
358 /* prologue: frame size=0 */
359 /* prologue end (size=0) */
360 0068 FC01 movw r30,r24
361 006a DB01 movw r26,r22
75:driver/EEProm.c **** while (!eeprom_is_ready())
76:driver/EEProm.c **** {
77:driver/EEProm.c **** wdt_reset();
363 .LM24:
364 006c E19B sbis 60-0x20,1
365 006e 03C0 rjmp .L54
366 .L45:
368 .LM25:
369 /* #APP */
370 0070 A895 wdr
371 /* #NOAPP */
372 0072 E199 sbic 60-0x20,1
373 0074 FDCF rjmp .L45
374 .L54:
375 .LBB11:
377 .Ltext9:
379 .LM26:
380 0076 842F mov r24,r20
381 0078 9927 clr r25
382 .LBB12:
383 .LBB13:
385 .LM27:
386 /* #APP */
387 .177_start:
388 007a 0197 sbiw r24,1
389 007c 1CF0 brlt .177_finished
390 007e 00D0 rcall __eeprom_read_byte_1C1D1E
391 0080 0192 st z+,__tmp_reg__
392 0082 FBCF rjmp .177_start
393 .177_finished:
394 /* #NOAPP */
395 .LBE13:
396 .LBE12:
397 .LBE11:
398 /* epilogue: frame size=0 */
399 0084 0895 ret
400 /* epilogue end (size=1) */
401 /* function Read_EEProm_block size 25 (24) */
411 .Lscope5:
412 .text
414 Letext:
415 /* File "driver/EEProm.c": code 102 = 0x0066 ( 96), prologues 0, epilogues 6 */
DEFINED SYMBOLS
*ABS*:00000000 EEProm.c
C:\DOCUME~1\zgh\LOCALS~1\Temp/ccuKaaaa.s:3 *ABS*:0000003f __SREG__
C:\DOCUME~1\zgh\LOCALS~1\Temp/ccuKaaaa.s:4 *ABS*:0000003e __SP_H__
C:\DOCUME~1\zgh\LOCALS~1\Temp/ccuKaaaa.s:5 *ABS*:0000003d __SP_L__
C:\DOCUME~1\zgh\LOCALS~1\Temp/ccuKaaaa.s:6 *ABS*:00000000 __tmp_reg__
C:\DOCUME~1\zgh\LOCALS~1\Temp/ccuKaaaa.s:7 *ABS*:00000001 __zero_reg__
C:\DOCUME~1\zgh\LOCALS~1\Temp/ccuKaaaa.s:106 .text:00000000 Write_EEProm_byte
C:\DOCUME~1\zgh\LOCALS~1\Temp/ccuKaaaa.s:151 .text:00000012 Write_EEProm_word
C:\DOCUME~1\zgh\LOCALS~1\Temp/ccuKaaaa.s:200 .text:00000024 Write_EEProm_block
C:\DOCUME~1\zgh\LOCALS~1\Temp/ccuKaaaa.s:234 .text:00000036 .79_start
C:\DOCUME~1\zgh\LOCALS~1\Temp/ccuKaaaa.s:240 .text:00000040 .79_finished
C:\DOCUME~1\zgh\LOCALS~1\Temp/ccuKaaaa.s:263 .text:00000042 Read_EEProm_byte
C:\DOCUME~1\zgh\LOCALS~1\Temp/ccuKaaaa.s:317 .text:00000056 Read_EEProm_word
C:\DOCUME~1\zgh\LOCALS~1\Temp/ccuKaaaa.s:355 .text:00000068 Read_EEProm_block
C:\DOCUME~1\zgh\LOCALS~1\Temp/ccuKaaaa.s:387 .text:0000007a .177_start
C:\DOCUME~1\zgh\LOCALS~1\Temp/ccuKaaaa.s:393 .text:00000084 .177_finished
C:\DOCUME~1\zgh\LOCALS~1\Temp/ccuKaaaa.s:414 .text:00000086 Letext
UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
__eeprom_write_byte_1C1D1E
__eeprom_write_word_1C1D1E
__eeprom_read_byte_1C1D1E
__eeprom_read_word_1C1D1E
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -