📄 logger.lst
字号:
239:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** } x;
240:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h ****
241:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** x.byte.lo = eeprom_read_byte ((const uint8_t *)__p);
242:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** x.byte.hi = eeprom_read_byte ((const uint8_t *)__p + 1);
243:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** return x.word;
244:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** #endif
245:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** }
246:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h ****
247:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** /** \ingroup avr_eeprom
248:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** Read one 32-bit double word (little endian) from EEPROM address \a __p.
249:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** */
250:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** __ATTR_PURE__ static __inline__
251:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** uint32_t eeprom_read_dword (const uint32_t *__p)
252:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** {
253:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** #if (! (defined(__AVR_ATmega2560__) || defined(__AVR_ATmega2561__)) )
254:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** return __eerd_dword (__p, eeprom_read_byte);
255:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** #else
256:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** /* If ATmega256x device, do not call function. */
257:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** union
258:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** {
259:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** uint32_t dword;
260:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** struct
261:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** {
262:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** uint8_t byte0;
263:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** uint8_t byte1;
264:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** uint8_t byte2;
265:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** uint8_t byte3;
266:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** } byte;
267:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** } x;
268:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h ****
269:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** x.byte.byte0 = eeprom_read_byte ((const uint8_t *)__p);
270:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** x.byte.byte1 = eeprom_read_byte ((const uint8_t *)__p + 1);
271:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** x.byte.byte2 = eeprom_read_byte ((const uint8_t *)__p + 2);
272:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** x.byte.byte3 = eeprom_read_byte ((const uint8_t *)__p + 3);
273:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** return x.dword;
274:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** #endif
275:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** }
276:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h ****
277:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** /** \ingroup avr_eeprom
278:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** Read a block of \a __n bytes from EEPROM address \a __src to SRAM
279:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** \a __dst.
280:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** */
281:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** static __inline__ void
282:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** eeprom_read_block (void *__dst, const void *__src, size_t __n)
283:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** {
284:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** #if (! (defined(__AVR_ATmega2560__) || defined(__AVR_ATmega2561__)) )
285:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** __eerd_block (__dst, __src, __n, eeprom_read_byte);
286:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** #else
287:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** /* If ATmega256x device, do not call function. */
288:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** while (__n--)
289:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** {
290:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** *(char *)__dst++ = eeprom_read_byte(__src++);
291:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** }
292:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** #endif
293:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** }
294:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h ****
295:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** /** \ingroup avr_eeprom
296:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** Write a byte \a __value to EEPROM address \a __p.
297:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** */
298:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** static __inline__ void eeprom_write_byte (uint8_t *__p, uint8_t __value)
299:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** {
300:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** do {} while (!eeprom_is_ready ());
356 2:
357 andi r19,hi8(255)
358 0122 E199 subi r18,lo8(-(logger_temp_today))
359 0124 00C0 sbci r19,hi8(-(logger_temp_today))
301:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h ****
302:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** #if defined(EEPM0) && defined(EEPM1)
303:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** EECR = 0; /* Set programming mode: erase and write. */
304:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** #elif defined(EEPM0) || defined(EEPM1)
305:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** # warning "Unknown EECR register, eeprom_write_byte() has become outdated."
306:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** #endif
307:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h ****
308:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** #if E2END <= 0xFF
309:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** EEARL = (unsigned)__p;
310:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** #else
311:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** EEAR = (unsigned)__p;
360
362 0126 3070 .LM32:
363 0128 2050 andi r19,hi8(255)
364 012a 3040 subi r18,lo8(-(logger_temp_today))
365 012c 3FBB sbci r19,hi8(-(logger_temp_today))
366 012e 2EBB out (62)+1-32,r19
312:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** #endif
313:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** EEDR = __value;
367 M32-.LFBB2
368 .LM32:
369 0130 8DBB andi r19,hi8(255)
314:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h ****
315:c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h **** __asm__ __volatile__ (
370 xt3
371 .Ltext3:
373 .LM31:
374 sbic 60-32,1
375 0132 0FB6 rjmp .L23
377 0136 E29A .LM32:
378 0138 E19A andi r19,hi8(255)
379 013a 0FBE subi r18,lo8(-(logger_temp_today))
380 sbci r19,hi8(-(logger_temp_today))
381 out (62)+1-32,r19
382 out 62-32,r18
384 .LM33:
385 out 61-32,r24
387 .LM34:
388 /* #APP */
389 ; 315 "c:/winavr-20081205/lib/gcc/../../avr/include/avr/eeprom.h" 1
390 013c 81E0 /* START EEPROM WRITE CRITICAL SECTION */
391 013e 8093 0000 in r0, 63
392 cli
393 sbi 28, 2
394 sbi 28, 1
395 0142 8981 out 63, r0
396 0144 8093 0000 /* END EEPROM WRITE CRITICAL SECTION */
397 ; 0 "" 2
398 /* #NOAPP */
399 .L22:
400 .LBE13:
401 .LBE12:
403 014a CF91 .Ltext4:
405 014e 0895 .LM35:
406 ldi r24,lo8(1)
407 sts logger_count,r24
408 .L21:
410 .LM36:
411 ldd r24,Y+1
412 sts logger_data,r24
413 .L24:
414 /* epilogue start */
415 .LBE11:
417 .LM37:
418 0150 EF92 pop __tmp_reg__
419 0152 FF92 pop r28
420 0154 1F93 pop r29
421 0156 DF93 ret
426 .Lscope2:
428 .global logger_init
430 0160 81E0 logger_init:
432 .LM38:
433 .LFBB3:
434 0166 1092 0000 push r14
435 016a 1092 0000 push r15
436 push r17
437 push r29
438 016e 80E4 push r28
439 0170 8093 0000 push __tmp_reg__
440 0174 10E0 in r28,__SP_L__
441 in r29,__SP_H__
442 /* prologue: function */
443 /* frame size = 1 */
445 0178 0894 .LM39:
446 017a E11C ldi r24,lo8(1)
447 017c F11C sts logger_count,r24
449 017e C701 .LM40:
450 0180 0E94 0000 sts (logger_lastsave)+1,__zero_reg__
451 0184 8130 sts logger_lastsave,__zero_reg__
453 .LM41:
454 ldi r24,lo8(64)
455 0188 1F5F sts logger_data,r24
456 018a 1031 ldi r17,lo8(0)
457 018c 01F4 .LBB14:
459 .LM42:
460 movw r14,r28
461 sec
462 adc r14,__zero_reg__
463 018e 0F90 adc r15,__zero_reg__
464 0190 CF91 .L28:
465 0192 DF91 movw r24,r14
466 0194 1F91 call lm75_nonblocking_temp_read
467 0196 FF90 cpi r24,lo8(1)
468 0198 EF90 breq .L29
470 .LM43:
471 subi r17,lo8(-(1))
472 cpi r17,lo8(16)
473 brne .L28
474 .L29:
475 /* epilogue start */
476 .LBE14:
478 .LM44:
479 pop __tmp_reg__
480 pop r28
481 pop r29
482 pop r17
483 0000 0000 0000 pop r15
483 0000 0000
483 0000 0000
483 0000 0000
483 0000 0000
484 pop r14
485 ret
493 .Lscope3:
DEFINED SYMBOLS
*ABS*:00000000 logger.c
C:\DOCUME~1\ESERVIS\USTAWI~1\Temp/ccQQyAH2.s:2 *ABS*:0000003f __SREG__
C:\DOCUME~1\ESERVIS\USTAWI~1\Temp/ccQQyAH2.s:3 *ABS*:0000003e __SP_H__
C:\DOCUME~1\ESERVIS\USTAWI~1\Temp/ccQQyAH2.s:4 *ABS*:0000003d __SP_L__
C:\DOCUME~1\ESERVIS\USTAWI~1\Temp/ccQQyAH2.s:5 *ABS*:00000034 __CCP__
C:\DOCUME~1\ESERVIS\USTAWI~1\Temp/ccQQyAH2.s:6 *ABS*:00000000 __tmp_reg__
C:\DOCUME~1\ESERVIS\USTAWI~1\Temp/ccQQyAH2.s:7 *ABS*:00000001 __zero_reg__
C:\DOCUME~1\ESERVIS\USTAWI~1\Temp/ccQQyAH2.s:108 .text:00000000 logger_output_temp
C:\DOCUME~1\ESERVIS\USTAWI~1\Temp/ccQQyAH2.s:482 .eeprom:00000000 logger_temp_today
*COM*:00000001 logger_data
C:\DOCUME~1\ESERVIS\USTAWI~1\Temp/ccQQyAH2.s:281 .text:000000b6 logger_do
*COM*:00000001 logger_count
*COM*:00000002 logger_lastsave
C:\DOCUME~1\ESERVIS\USTAWI~1\Temp/ccQQyAH2.s:414 .text:00000150 logger_init
UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
clock
__divmodhi4
string_uint8_to_buffer
lm75_nonblocking_temp_read
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -