|
-
- PoolClockAirTemp.elf: file format elf32-avr
-
- Sections:
- Idx Name Size VMA LMA File off Algn
- 0 .data 00000016 00800100 000004a0 00000534 2**0
- CONTENTS, ALLOC, LOAD, DATA
- 1 .text 000004a0 00000000 00000000 00000094 2**1
- CONTENTS, ALLOC, LOAD, READONLY, CODE
- 2 .bss 00000001 00800116 00800116 0000054a 2**0
- ALLOC
- 3 .comment 00000030 00000000 00000000 0000054a 2**0
- CONTENTS, READONLY
- 4 .note.gnu.avr.deviceinfo 00000040 00000000 00000000 0000057c 2**2
- CONTENTS, READONLY
- 5 .debug_aranges 00000068 00000000 00000000 000005bc 2**0
- CONTENTS, READONLY, DEBUGGING
- 6 .debug_info 00000cee 00000000 00000000 00000624 2**0
- CONTENTS, READONLY, DEBUGGING
- 7 .debug_abbrev 0000084b 00000000 00000000 00001312 2**0
- CONTENTS, READONLY, DEBUGGING
- 8 .debug_line 000004ba 00000000 00000000 00001b5d 2**0
- CONTENTS, READONLY, DEBUGGING
- 9 .debug_frame 000000ec 00000000 00000000 00002018 2**2
- CONTENTS, READONLY, DEBUGGING
- 10 .debug_str 000004d2 00000000 00000000 00002104 2**0
- CONTENTS, READONLY, DEBUGGING
- 11 .debug_loc 0000059b 00000000 00000000 000025d6 2**0
- CONTENTS, READONLY, DEBUGGING
- 12 .debug_ranges 00000058 00000000 00000000 00002b71 2**0
- CONTENTS, READONLY, DEBUGGING
-
- Disassembly of section .text:
-
- 00000000 <__vectors>:
- 0: 19 c0 rjmp .+50 ; 0x34 <__ctors_end>
- 2: 33 c0 rjmp .+102 ; 0x6a <__bad_interrupt>
- 4: 32 c0 rjmp .+100 ; 0x6a <__bad_interrupt>
- 6: 31 c0 rjmp .+98 ; 0x6a <__bad_interrupt>
- 8: 30 c0 rjmp .+96 ; 0x6a <__bad_interrupt>
- a: 2f c0 rjmp .+94 ; 0x6a <__bad_interrupt>
- c: 2e c0 rjmp .+92 ; 0x6a <__bad_interrupt>
- e: 2d c0 rjmp .+90 ; 0x6a <__bad_interrupt>
- 10: 2c c0 rjmp .+88 ; 0x6a <__bad_interrupt>
- 12: 2b c0 rjmp .+86 ; 0x6a <__bad_interrupt>
- 14: 2a c0 rjmp .+84 ; 0x6a <__bad_interrupt>
- 16: 2a c0 rjmp .+84 ; 0x6c <__vector_11>
- 18: 28 c0 rjmp .+80 ; 0x6a <__bad_interrupt>
- 1a: 27 c0 rjmp .+78 ; 0x6a <__bad_interrupt>
- 1c: 26 c0 rjmp .+76 ; 0x6a <__bad_interrupt>
- 1e: 25 c0 rjmp .+74 ; 0x6a <__bad_interrupt>
- 20: 24 c0 rjmp .+72 ; 0x6a <__bad_interrupt>
- 22: 23 c0 rjmp .+70 ; 0x6a <__bad_interrupt>
- 24: 22 c0 rjmp .+68 ; 0x6a <__bad_interrupt>
- 26: 21 c0 rjmp .+66 ; 0x6a <__bad_interrupt>
- 28: 20 c0 rjmp .+64 ; 0x6a <__bad_interrupt>
- 2a: 1f c0 rjmp .+62 ; 0x6a <__bad_interrupt>
- 2c: 1e c0 rjmp .+60 ; 0x6a <__bad_interrupt>
- 2e: 1d c0 rjmp .+58 ; 0x6a <__bad_interrupt>
- 30: 1c c0 rjmp .+56 ; 0x6a <__bad_interrupt>
- 32: 1b c0 rjmp .+54 ; 0x6a <__bad_interrupt>
-
- 00000034 <__ctors_end>:
- 34: 11 24 eor r1, r1
- 36: 1f be out 0x3f, r1 ; 63
- 38: cf ef ldi r28, 0xFF ; 255
- 3a: d4 e0 ldi r29, 0x04 ; 4
- 3c: de bf out 0x3e, r29 ; 62
- 3e: cd bf out 0x3d, r28 ; 61
-
- 00000040 <__do_copy_data>:
- 40: 11 e0 ldi r17, 0x01 ; 1
- 42: a0 e0 ldi r26, 0x00 ; 0
- 44: b1 e0 ldi r27, 0x01 ; 1
- 46: e0 ea ldi r30, 0xA0 ; 160
- 48: f4 e0 ldi r31, 0x04 ; 4
- 4a: 02 c0 rjmp .+4 ; 0x50 <__do_copy_data+0x10>
- 4c: 05 90 lpm r0, Z+
- 4e: 0d 92 st X+, r0
- 50: a6 31 cpi r26, 0x16 ; 22
- 52: b1 07 cpc r27, r17
- 54: d9 f7 brne .-10 ; 0x4c <__do_copy_data+0xc>
-
- 00000056 <__do_clear_bss>:
- 56: 21 e0 ldi r18, 0x01 ; 1
- 58: a6 e1 ldi r26, 0x16 ; 22
- 5a: b1 e0 ldi r27, 0x01 ; 1
- 5c: 01 c0 rjmp .+2 ; 0x60 <.do_clear_bss_start>
-
- 0000005e <.do_clear_bss_loop>:
- 5e: 1d 92 st X+, r1
-
- 00000060 <.do_clear_bss_start>:
- 60: a7 31 cpi r26, 0x17 ; 23
- 62: b2 07 cpc r27, r18
- 64: e1 f7 brne .-8 ; 0x5e <.do_clear_bss_loop>
- 66: bf d0 rcall .+382 ; 0x1e6 <main>
- 68: 19 c2 rjmp .+1074 ; 0x49c <_exit>
-
- 0000006a <__bad_interrupt>:
- 6a: ca cf rjmp .-108 ; 0x0 <__vectors>
-
- 0000006c <__vector_11>:
- /************************************************************************/
- void vSetDisplayDigits( uint8_t u8Tens, uint8_t u8Ones, uint8_t u8Unit )
- {
- g_au8Digits[DIGIT_TENS] = u8Tens;
- g_au8Digits[DIGIT_ONES] = u8Ones;
- g_au8Digits[DIGIT_UNIT] = u8Unit;
- 6c: 1f 92 push r1
- 6e: 0f 92 push r0
- 70: 0f b6 in r0, 0x3f ; 63
- 72: 0f 92 push r0
- 74: 11 24 eor r1, r1
- 76: 8f 93 push r24
- 78: 9f 93 push r25
- 7a: ef 93 push r30
- 7c: ff 93 push r31
- 7e: 15 b8 out 0x05, r1 ; 5
- 80: 1b b8 out 0x0b, r1 ; 11
- 82: 8d e0 ldi r24, 0x0D ; 13
- 84: 8a 95 dec r24
- 86: f1 f7 brne .-4 ; 0x84 <__vector_11+0x18>
- 88: 00 00 nop
- 8a: 81 e0 ldi r24, 0x01 ; 1
- 8c: 90 e0 ldi r25, 0x00 ; 0
- 8e: 00 90 16 01 lds r0, 0x0116 ; 0x800116 <__data_end>
- 92: 02 c0 rjmp .+4 ; 0x98 <__vector_11+0x2c>
- 94: 88 0f add r24, r24
- 96: 99 1f adc r25, r25
- 98: 0a 94 dec r0
- 9a: e2 f7 brpl .-8 ; 0x94 <__vector_11+0x28>
- 9c: 85 b9 out 0x05, r24 ; 5
- 9e: e0 91 16 01 lds r30, 0x0116 ; 0x800116 <__data_end>
- a2: f0 e0 ldi r31, 0x00 ; 0
- a4: e0 50 subi r30, 0x00 ; 0
- a6: ff 4f sbci r31, 0xFF ; 255
- a8: e0 81 ld r30, Z
- aa: f0 e0 ldi r31, 0x00 ; 0
- ac: ed 5f subi r30, 0xFD ; 253
- ae: fe 4f sbci r31, 0xFE ; 254
- b0: 80 81 ld r24, Z
- b2: 8b b9 out 0x0b, r24 ; 11
- b4: 80 91 16 01 lds r24, 0x0116 ; 0x800116 <__data_end>
- b8: 8f 5f subi r24, 0xFF ; 255
- ba: 83 30 cpi r24, 0x03 ; 3
- bc: 18 f4 brcc .+6 ; 0xc4 <__vector_11+0x58>
- be: 80 93 16 01 sts 0x0116, r24 ; 0x800116 <__data_end>
- c2: 02 c0 rjmp .+4 ; 0xc8 <__vector_11+0x5c>
- c4: 10 92 16 01 sts 0x0116, r1 ; 0x800116 <__data_end>
- c8: ff 91 pop r31
- ca: ef 91 pop r30
- cc: 9f 91 pop r25
- ce: 8f 91 pop r24
- d0: 0f 90 pop r0
- d2: 0f be out 0x3f, r0 ; 63
- d4: 0f 90 pop r0
- d6: 1f 90 pop r1
- d8: 18 95 reti
-
- 000000da <vInit>:
- da: 8f ef ldi r24, 0xFF ; 255
- dc: 8a b9 out 0x0a, r24 ; 10
- de: 87 e0 ldi r24, 0x07 ; 7
- e0: 84 b9 out 0x04, r24 ; 4
- e2: 10 92 80 00 sts 0x0080, r1 ; 0x800080 <__EEPROM_REGION_LENGTH__+0x7f0080>
- e6: 8a e0 ldi r24, 0x0A ; 10
- e8: 80 93 81 00 sts 0x0081, r24 ; 0x800081 <__EEPROM_REGION_LENGTH__+0x7f0081>
- ec: 84 ec ldi r24, 0xC4 ; 196
- ee: 99 e0 ldi r25, 0x09 ; 9
- f0: 90 93 89 00 sts 0x0089, r25 ; 0x800089 <__EEPROM_REGION_LENGTH__+0x7f0089>
- f4: 80 93 88 00 sts 0x0088, r24 ; 0x800088 <__EEPROM_REGION_LENGTH__+0x7f0088>
- f8: ef e6 ldi r30, 0x6F ; 111
- fa: f0 e0 ldi r31, 0x00 ; 0
- fc: 80 81 ld r24, Z
- fe: 82 60 ori r24, 0x02 ; 2
- 100: 80 83 st Z, r24
- 102: 78 94 sei
- 104: 08 95 ret
-
- 00000106 <vSetValue>:
- 106: 9d ec ldi r25, 0xCD ; 205
- 108: 89 9f mul r24, r25
- 10a: 91 2d mov r25, r1
- 10c: 11 24 eor r1, r1
- 10e: 96 95 lsr r25
- 110: 96 95 lsr r25
- 112: 96 95 lsr r25
- 114: e0 e0 ldi r30, 0x00 ; 0
- 116: f1 e0 ldi r31, 0x01 ; 1
- 118: 92 83 std Z+2, r25 ; 0x02
- 11a: 99 0f add r25, r25
- 11c: 29 2f mov r18, r25
- 11e: 22 0f add r18, r18
- 120: 22 0f add r18, r18
- 122: 92 0f add r25, r18
- 124: 89 1b sub r24, r25
- 126: 81 83 std Z+1, r24 ; 0x01
- 128: 60 83 st Z, r22
- 12a: 08 95 ret
-
- 0000012c <u8DS18B20_Reset>:
- uint8_t u8DS18B20_Reset( void )
- {
- uint8_t u8Status;
-
- //low for 480 us
- DS18B20_PORT &= ~ (1<<DS18B20_DQ); //low
- 12c: 43 98 cbi 0x08, 3 ; 8
- DS18B20_DDR |= (1<<DS18B20_DQ); //output
- 12e: 3b 9a sbi 0x07, 3 ; 7
- #else
- //round up by default
- __ticks_dc = (uint32_t)(ceil(fabs(__tmp)));
- #endif
-
- __builtin_avr_delay_cycles(__ticks_dc);
- 130: 8f e5 ldi r24, 0x5F ; 95
- 132: 99 e0 ldi r25, 0x09 ; 9
- 134: 01 97 sbiw r24, 0x01 ; 1
- 136: f1 f7 brne .-4 ; 0x134 <u8DS18B20_Reset+0x8>
- 138: 00 c0 rjmp .+0 ; 0x13a <u8DS18B20_Reset+0xe>
- 13a: 00 00 nop
- _delay_us(480);
-
- //release line and wait for 60 us
- DS18B20_DDR &= ~(1<<DS18B20_DQ); //input
- 13c: 3b 98 cbi 0x07, 3 ; 7
- 13e: eb e2 ldi r30, 0x2B ; 43
- 140: f1 e0 ldi r31, 0x01 ; 1
- 142: 31 97 sbiw r30, 0x01 ; 1
- 144: f1 f7 brne .-4 ; 0x142 <u8DS18B20_Reset+0x16>
- 146: 00 c0 rjmp .+0 ; 0x148 <u8DS18B20_Reset+0x1c>
- 148: 00 00 nop
- _delay_us(60);
-
- //get value and wait 420 us
- u8Status = (DS18B20_PIN & (1<<DS18B20_DQ));
- 14a: 86 b1 in r24, 0x06 ; 6
- 14c: e3 e3 ldi r30, 0x33 ; 51
- 14e: f8 e0 ldi r31, 0x08 ; 8
- 150: 31 97 sbiw r30, 0x01 ; 1
- 152: f1 f7 brne .-4 ; 0x150 <u8DS18B20_Reset+0x24>
- 154: 00 c0 rjmp .+0 ; 0x156 <u8DS18B20_Reset+0x2a>
- 156: 00 00 nop
- _delay_us(420);
-
- //return the read value: 0=okay, 1=error
- return u8Status;
- }
- 158: 88 70 andi r24, 0x08 ; 8
- 15a: 08 95 ret
-
- 0000015c <vDS18B20_WriteBit>:
- /* Write single bit to DS18B20 (61 us) */
- /************************************************************************/
- void vDS18B20_WriteBit( uint8_t u8Bit )
- {
- //low for 1 us
- DS18B20_PORT &= ~ (1U<<DS18B20_DQ); //low
- 15c: 43 98 cbi 0x08, 3 ; 8
- DS18B20_DDR |= (1U<<DS18B20_DQ); //output
- 15e: 3b 9a sbi 0x07, 3 ; 7
- 160: 96 e0 ldi r25, 0x06 ; 6
- 162: 9a 95 dec r25
- 164: f1 f7 brne .-4 ; 0x162 <vDS18B20_WriteBit+0x6>
- 166: 00 c0 rjmp .+0 ; 0x168 <vDS18B20_WriteBit+0xc>
- _delay_us(1);
-
- //if we want to write 1, release the line (if not will keep low)
- if (1U == u8Bit )
- 168: 81 30 cpi r24, 0x01 ; 1
- 16a: 09 f4 brne .+2 ; 0x16e <vDS18B20_WriteBit+0x12>
- {
- DS18B20_DDR &= ~(1<<DS18B20_DQ); //input
- 16c: 3b 98 cbi 0x07, 3 ; 7
- 16e: 8b e2 ldi r24, 0x2B ; 43
- 170: 91 e0 ldi r25, 0x01 ; 1
- 172: 01 97 sbiw r24, 0x01 ; 1
- 174: f1 f7 brne .-4 ; 0x172 <vDS18B20_WriteBit+0x16>
- 176: 00 c0 rjmp .+0 ; 0x178 <vDS18B20_WriteBit+0x1c>
- 178: 00 00 nop
- }
-
- //wait 60 us and release the line
- _delay_us(60);
- DS18B20_DDR &= ~(1<<DS18B20_DQ); //input
- 17a: 3b 98 cbi 0x07, 3 ; 7
- 17c: 08 95 ret
-
- 0000017e <vDS18B20_WriteByte>:
-
- /************************************************************************/
- /* Write byte to DS18B20 (8 * 61 us = 488 us) */
- /************************************************************************/
- void vDS18B20_WriteByte( uint8_t u8Byte )
- {
- 17e: cf 93 push r28
- 180: df 93 push r29
- 182: d8 2f mov r29, r24
- 184: c8 e0 ldi r28, 0x08 ; 8
- uint8_t u8Bits = 8U;
-
- while ( u8Bits-- )
- {
- vDS18B20_WriteBit( u8Byte & 1U );
- 186: 8d 2f mov r24, r29
- 188: 81 70 andi r24, 0x01 ; 1
- 18a: e8 df rcall .-48 ; 0x15c <vDS18B20_WriteBit>
- u8Byte >>= 1U;
- 18c: d6 95 lsr r29
- 18e: c1 50 subi r28, 0x01 ; 1
- /************************************************************************/
- void vDS18B20_WriteByte( uint8_t u8Byte )
- {
- uint8_t u8Bits = 8U;
-
- while ( u8Bits-- )
- 190: d1 f7 brne .-12 ; 0x186 <vDS18B20_WriteByte+0x8>
- vDS18B20_WriteBit( u8Byte & 1U );
- u8Byte >>= 1U;
- }
-
- return; //void
- }
- 192: df 91 pop r29
- 194: cf 91 pop r28
- 196: 08 95 ret
-
- 00000198 <u8DS18B20_ReadBit>:
- uint8_t u8DS18B20_ReadBit( void )
- {
- uint8_t u8Bit = 0U;
-
- //low for 1 us
- DS18B20_PORT &= ~ (1U<<DS18B20_DQ); //low
- 198: 43 98 cbi 0x08, 3 ; 8
- DS18B20_DDR |= (1U<<DS18B20_DQ); //output
- 19a: 3b 9a sbi 0x07, 3 ; 7
- 19c: 86 e0 ldi r24, 0x06 ; 6
- 19e: 8a 95 dec r24
- 1a0: f1 f7 brne .-4 ; 0x19e <u8DS18B20_ReadBit+0x6>
- 1a2: 00 c0 rjmp .+0 ; 0x1a4 <u8DS18B20_ReadBit+0xc>
- _delay_us(1);
-
- //release line and wait for 14 us
- DS18B20_DDR &= ~(1U<<DS18B20_DQ); //input
- 1a4: 3b 98 cbi 0x07, 3 ; 7
- 1a6: ed e5 ldi r30, 0x5D ; 93
- 1a8: ea 95 dec r30
- 1aa: f1 f7 brne .-4 ; 0x1a8 <u8DS18B20_ReadBit+0x10>
- 1ac: 00 00 nop
- _delay_us(14);
-
- //read the value
- if ( DS18B20_PIN & (1U<<DS18B20_DQ) )
- 1ae: 86 b1 in r24, 0x06 ; 6
- 1b0: e0 ee ldi r30, 0xE0 ; 224
- 1b2: f0 e0 ldi r31, 0x00 ; 0
- 1b4: 31 97 sbiw r30, 0x01 ; 1
- 1b6: f1 f7 brne .-4 ; 0x1b4 <u8DS18B20_ReadBit+0x1c>
- 1b8: 00 c0 rjmp .+0 ; 0x1ba <u8DS18B20_ReadBit+0x22>
- 1ba: 00 00 nop
-
- //wait 45 us and return read value
- _delay_us(45);
-
- return u8Bit;
- }
- 1bc: 83 fb bst r24, 3
- 1be: 88 27 eor r24, r24
- 1c0: 80 f9 bld r24, 0
- 1c2: 08 95 ret
-
- 000001c4 <u8DS18B20_ReadByte>:
-
- /************************************************************************/
- /* Read byte from DS18B20 (8 * 60 us = 480 us) */
- /************************************************************************/
- uint8_t u8DS18B20_ReadByte( void )
- {
- 1c4: cf 93 push r28
- 1c6: df 93 push r29
- 1c8: d8 e0 ldi r29, 0x08 ; 8
- uint8_t u8Bits = 8U;
- uint8_t n = 0U;
- 1ca: c0 e0 ldi r28, 0x00 ; 0
- while ( u8Bits-- )
- {
- n >>= 1U;
- n |= (u8DS18B20_ReadBit()<<7U);
- 1cc: e5 df rcall .-54 ; 0x198 <u8DS18B20_ReadBit>
- 1ce: 20 e8 ldi r18, 0x80 ; 128
- 1d0: 82 9f mul r24, r18
- 1d2: c0 01 movw r24, r0
- 1d4: 11 24 eor r1, r1
- 1d6: c6 95 lsr r28
- 1d8: c8 2b or r28, r24
- 1da: d1 50 subi r29, 0x01 ; 1
- /************************************************************************/
- uint8_t u8DS18B20_ReadByte( void )
- {
- uint8_t u8Bits = 8U;
- uint8_t n = 0U;
- while ( u8Bits-- )
- 1dc: b9 f7 brne .-18 ; 0x1cc <u8DS18B20_ReadByte+0x8>
- n >>= 1U;
- n |= (u8DS18B20_ReadBit()<<7U);
- }
-
- return n;
- }
- 1de: 8c 2f mov r24, r28
- 1e0: df 91 pop r29
- 1e2: cf 91 pop r28
- 1e4: 08 95 ret
-
- 000001e6 <main>:
- {
- uint8_t u8TempLo, u8TempHi;
- float f32Temperature;
-
- /* Init I/O: */
- vInit();
- 1e6: 79 df rcall .-270 ; 0xda <vInit>
- /************************************************************************/
- /* Set display digits individually */
- /************************************************************************/
- void vSetDisplayDigits( uint8_t u8Tens, uint8_t u8Ones, uint8_t u8Unit )
- {
- g_au8Digits[DIGIT_TENS] = u8Tens;
- 1e8: e0 e0 ldi r30, 0x00 ; 0
- 1ea: f1 e0 ldi r31, 0x01 ; 1
- 1ec: 81 e1 ldi r24, 0x11 ; 17
- 1ee: 82 83 std Z+2, r24 ; 0x02
- g_au8Digits[DIGIT_ONES] = u8Ones;
- 1f0: 81 83 std Z+1, r24 ; 0x01
- g_au8Digits[DIGIT_UNIT] = u8Unit;
- 1f2: 80 83 st Z, r24
- #else
- //round up by default
- __ticks_dc = (uint32_t)(ceil(fabs(__tmp)));
- #endif
-
- __builtin_avr_delay_cycles(__ticks_dc);
- 1f4: 2f ef ldi r18, 0xFF ; 255
- 1f6: 8b e7 ldi r24, 0x7B ; 123
- 1f8: 92 e9 ldi r25, 0x92 ; 146
- 1fa: 21 50 subi r18, 0x01 ; 1
- 1fc: 80 40 sbci r24, 0x00 ; 0
- 1fe: 90 40 sbci r25, 0x00 ; 0
- 200: e1 f7 brne .-8 ; 0x1fa <main+0x14>
- 202: 00 c0 rjmp .+0 ; 0x204 <main+0x1e>
- 204: 00 00 nop
- /* wait 3 seconds for DS18B20 sensor */
- _delay_ms(2400);
-
- while (1)
- {
- (void) u8DS18B20_Reset();
- 206: 92 df rcall .-220 ; 0x12c <u8DS18B20_Reset>
- vDS18B20_WriteByte( DS18B20_CMD_SKIPROM );
- 208: 8c ec ldi r24, 0xCC ; 204
- 20a: b9 df rcall .-142 ; 0x17e <vDS18B20_WriteByte>
- vDS18B20_WriteByte( DS18B20_CMD_CONVERTTEMP );
- 20c: 84 e4 ldi r24, 0x44 ; 68
- 20e: b7 df rcall .-146 ; 0x17e <vDS18B20_WriteByte>
- while ( !u8DS18B20_ReadBit() );
- 210: c3 df rcall .-122 ; 0x198 <u8DS18B20_ReadBit>
- 212: 88 23 and r24, r24
- 214: e9 f3 breq .-6 ; 0x210 <main+0x2a>
- (void) u8DS18B20_Reset();
- 216: 8a df rcall .-236 ; 0x12c <u8DS18B20_Reset>
- vDS18B20_WriteByte( DS18B20_CMD_SKIPROM );
- 218: 8c ec ldi r24, 0xCC ; 204
- 21a: b1 df rcall .-158 ; 0x17e <vDS18B20_WriteByte>
- vDS18B20_WriteByte( DS18B20_CMD_RSCRATCHPAD );
- 21c: 8e eb ldi r24, 0xBE ; 190
- 21e: af df rcall .-162 ; 0x17e <vDS18B20_WriteByte>
- u8TempLo = u8DS18B20_ReadByte();
- 220: d1 df rcall .-94 ; 0x1c4 <u8DS18B20_ReadByte>
- 222: c8 2f mov r28, r24
- u8TempHi = u8DS18B20_ReadByte();
- 224: cf df rcall .-98 ; 0x1c4 <u8DS18B20_ReadByte>
- f32Temperature = ((u8TempHi << 8) + u8TempLo) * 0.0625;
- vSetValue( (uint8_t) f32Temperature, SYM_DEG_CELCIUS );
- 226: 68 2f mov r22, r24
- 228: 70 e0 ldi r23, 0x00 ; 0
- 22a: 76 2f mov r23, r22
- 22c: 66 27 eor r22, r22
- 22e: 6c 0f add r22, r28
- 230: 71 1d adc r23, r1
- 232: 07 2e mov r0, r23
- 234: 00 0c add r0, r0
- 236: 88 0b sbc r24, r24
- 238: 99 0b sbc r25, r25
- 23a: 41 d0 rcall .+130 ; 0x2be <__floatsisf>
- 23c: 20 e0 ldi r18, 0x00 ; 0
- 23e: 30 e0 ldi r19, 0x00 ; 0
- 240: 40 e8 ldi r20, 0x80 ; 128
- 242: 5d e3 ldi r21, 0x3D ; 61
- 244: a0 d0 rcall .+320 ; 0x386 <__mulsf3>
- 246: 0d d0 rcall .+26 ; 0x262 <__fixunssfsi>
- 248: 86 2f mov r24, r22
- 24a: 6e e0 ldi r22, 0x0E ; 14
- 24c: 5c df rcall .-328 ; 0x106 <vSetValue>
- 24e: 2f e7 ldi r18, 0x7F ; 127
- 250: 84 e8 ldi r24, 0x84 ; 132
- 252: 9e e1 ldi r25, 0x1E ; 30
- 254: 21 50 subi r18, 0x01 ; 1
- 256: 80 40 sbci r24, 0x00 ; 0
- 258: 90 40 sbci r25, 0x00 ; 0
- 25a: e1 f7 brne .-8 ; 0x254 <main+0x6e>
- 25c: 00 c0 rjmp .+0 ; 0x25e <main+0x78>
- 25e: 00 00 nop
- 260: d2 cf rjmp .-92 ; 0x206 <main+0x20>
-
- 00000262 <__fixunssfsi>:
- 262: 70 d0 rcall .+224 ; 0x344 <__fp_splitA>
- 264: 88 f0 brcs .+34 ; 0x288 <__fixunssfsi+0x26>
- 266: 9f 57 subi r25, 0x7F ; 127
- 268: 90 f0 brcs .+36 ; 0x28e <__fixunssfsi+0x2c>
- 26a: b9 2f mov r27, r25
- 26c: 99 27 eor r25, r25
- 26e: b7 51 subi r27, 0x17 ; 23
- 270: a0 f0 brcs .+40 ; 0x29a <__fixunssfsi+0x38>
- 272: d1 f0 breq .+52 ; 0x2a8 <__fixunssfsi+0x46>
- 274: 66 0f add r22, r22
- 276: 77 1f adc r23, r23
- 278: 88 1f adc r24, r24
- 27a: 99 1f adc r25, r25
- 27c: 1a f0 brmi .+6 ; 0x284 <__fixunssfsi+0x22>
- 27e: ba 95 dec r27
- 280: c9 f7 brne .-14 ; 0x274 <__fixunssfsi+0x12>
- 282: 12 c0 rjmp .+36 ; 0x2a8 <__fixunssfsi+0x46>
- 284: b1 30 cpi r27, 0x01 ; 1
- 286: 81 f0 breq .+32 ; 0x2a8 <__fixunssfsi+0x46>
- 288: 77 d0 rcall .+238 ; 0x378 <__fp_zero>
- 28a: b1 e0 ldi r27, 0x01 ; 1
- 28c: 08 95 ret
- 28e: 74 c0 rjmp .+232 ; 0x378 <__fp_zero>
- 290: 67 2f mov r22, r23
- 292: 78 2f mov r23, r24
- 294: 88 27 eor r24, r24
- 296: b8 5f subi r27, 0xF8 ; 248
- 298: 39 f0 breq .+14 ; 0x2a8 <__fixunssfsi+0x46>
- 29a: b9 3f cpi r27, 0xF9 ; 249
- 29c: cc f3 brlt .-14 ; 0x290 <__fixunssfsi+0x2e>
- 29e: 86 95 lsr r24
- 2a0: 77 95 ror r23
- 2a2: 67 95 ror r22
- 2a4: b3 95 inc r27
- 2a6: d9 f7 brne .-10 ; 0x29e <__fixunssfsi+0x3c>
- 2a8: 3e f4 brtc .+14 ; 0x2b8 <__fixunssfsi+0x56>
- 2aa: 90 95 com r25
- 2ac: 80 95 com r24
- 2ae: 70 95 com r23
- 2b0: 61 95 neg r22
- 2b2: 7f 4f sbci r23, 0xFF ; 255
- 2b4: 8f 4f sbci r24, 0xFF ; 255
- 2b6: 9f 4f sbci r25, 0xFF ; 255
- 2b8: 08 95 ret
-
- 000002ba <__floatunsisf>:
- 2ba: e8 94 clt
- 2bc: 09 c0 rjmp .+18 ; 0x2d0 <__floatsisf+0x12>
-
- 000002be <__floatsisf>:
- 2be: 97 fb bst r25, 7
- 2c0: 3e f4 brtc .+14 ; 0x2d0 <__floatsisf+0x12>
- 2c2: 90 95 com r25
- 2c4: 80 95 com r24
- 2c6: 70 95 com r23
- 2c8: 61 95 neg r22
- 2ca: 7f 4f sbci r23, 0xFF ; 255
- 2cc: 8f 4f sbci r24, 0xFF ; 255
- 2ce: 9f 4f sbci r25, 0xFF ; 255
- 2d0: 99 23 and r25, r25
- 2d2: a9 f0 breq .+42 ; 0x2fe <__floatsisf+0x40>
- 2d4: f9 2f mov r31, r25
- 2d6: 96 e9 ldi r25, 0x96 ; 150
- 2d8: bb 27 eor r27, r27
- 2da: 93 95 inc r25
- 2dc: f6 95 lsr r31
- 2de: 87 95 ror r24
- 2e0: 77 95 ror r23
- 2e2: 67 95 ror r22
- 2e4: b7 95 ror r27
- 2e6: f1 11 cpse r31, r1
- 2e8: f8 cf rjmp .-16 ; 0x2da <__floatsisf+0x1c>
- 2ea: fa f4 brpl .+62 ; 0x32a <__floatsisf+0x6c>
- 2ec: bb 0f add r27, r27
- 2ee: 11 f4 brne .+4 ; 0x2f4 <__floatsisf+0x36>
- 2f0: 60 ff sbrs r22, 0
- 2f2: 1b c0 rjmp .+54 ; 0x32a <__floatsisf+0x6c>
- 2f4: 6f 5f subi r22, 0xFF ; 255
- 2f6: 7f 4f sbci r23, 0xFF ; 255
- 2f8: 8f 4f sbci r24, 0xFF ; 255
- 2fa: 9f 4f sbci r25, 0xFF ; 255
- 2fc: 16 c0 rjmp .+44 ; 0x32a <__floatsisf+0x6c>
- 2fe: 88 23 and r24, r24
- 300: 11 f0 breq .+4 ; 0x306 <__floatsisf+0x48>
- 302: 96 e9 ldi r25, 0x96 ; 150
- 304: 11 c0 rjmp .+34 ; 0x328 <__floatsisf+0x6a>
- 306: 77 23 and r23, r23
- 308: 21 f0 breq .+8 ; 0x312 <__floatsisf+0x54>
- 30a: 9e e8 ldi r25, 0x8E ; 142
- 30c: 87 2f mov r24, r23
- 30e: 76 2f mov r23, r22
- 310: 05 c0 rjmp .+10 ; 0x31c <__floatsisf+0x5e>
- 312: 66 23 and r22, r22
- 314: 71 f0 breq .+28 ; 0x332 <__floatsisf+0x74>
- 316: 96 e8 ldi r25, 0x86 ; 134
- 318: 86 2f mov r24, r22
- 31a: 70 e0 ldi r23, 0x00 ; 0
- 31c: 60 e0 ldi r22, 0x00 ; 0
- 31e: 2a f0 brmi .+10 ; 0x32a <__floatsisf+0x6c>
- 320: 9a 95 dec r25
- 322: 66 0f add r22, r22
- 324: 77 1f adc r23, r23
- 326: 88 1f adc r24, r24
- 328: da f7 brpl .-10 ; 0x320 <__floatsisf+0x62>
- 32a: 88 0f add r24, r24
- 32c: 96 95 lsr r25
- 32e: 87 95 ror r24
- 330: 97 f9 bld r25, 7
- 332: 08 95 ret
-
- 00000334 <__fp_split3>:
- 334: 57 fd sbrc r21, 7
- 336: 90 58 subi r25, 0x80 ; 128
- 338: 44 0f add r20, r20
- 33a: 55 1f adc r21, r21
- 33c: 59 f0 breq .+22 ; 0x354 <__fp_splitA+0x10>
- 33e: 5f 3f cpi r21, 0xFF ; 255
- 340: 71 f0 breq .+28 ; 0x35e <__fp_splitA+0x1a>
- 342: 47 95 ror r20
-
- 00000344 <__fp_splitA>:
- 344: 88 0f add r24, r24
- 346: 97 fb bst r25, 7
- 348: 99 1f adc r25, r25
- 34a: 61 f0 breq .+24 ; 0x364 <__fp_splitA+0x20>
- 34c: 9f 3f cpi r25, 0xFF ; 255
- 34e: 79 f0 breq .+30 ; 0x36e <__fp_splitA+0x2a>
- 350: 87 95 ror r24
- 352: 08 95 ret
- 354: 12 16 cp r1, r18
- 356: 13 06 cpc r1, r19
- 358: 14 06 cpc r1, r20
- 35a: 55 1f adc r21, r21
- 35c: f2 cf rjmp .-28 ; 0x342 <__fp_split3+0xe>
- 35e: 46 95 lsr r20
- 360: f1 df rcall .-30 ; 0x344 <__fp_splitA>
- 362: 08 c0 rjmp .+16 ; 0x374 <__fp_splitA+0x30>
- 364: 16 16 cp r1, r22
- 366: 17 06 cpc r1, r23
- 368: 18 06 cpc r1, r24
- 36a: 99 1f adc r25, r25
- 36c: f1 cf rjmp .-30 ; 0x350 <__fp_splitA+0xc>
- 36e: 86 95 lsr r24
- 370: 71 05 cpc r23, r1
- 372: 61 05 cpc r22, r1
- 374: 08 94 sec
- 376: 08 95 ret
-
- 00000378 <__fp_zero>:
- 378: e8 94 clt
-
- 0000037a <__fp_szero>:
- 37a: bb 27 eor r27, r27
- 37c: 66 27 eor r22, r22
- 37e: 77 27 eor r23, r23
- 380: cb 01 movw r24, r22
- 382: 97 f9 bld r25, 7
- 384: 08 95 ret
-
- 00000386 <__mulsf3>:
- 386: 0b d0 rcall .+22 ; 0x39e <__mulsf3x>
- 388: 78 c0 rjmp .+240 ; 0x47a <__fp_round>
- 38a: 69 d0 rcall .+210 ; 0x45e <__fp_pscA>
- 38c: 28 f0 brcs .+10 ; 0x398 <__mulsf3+0x12>
- 38e: 6e d0 rcall .+220 ; 0x46c <__fp_pscB>
- 390: 18 f0 brcs .+6 ; 0x398 <__mulsf3+0x12>
- 392: 95 23 and r25, r21
- 394: 09 f0 breq .+2 ; 0x398 <__mulsf3+0x12>
- 396: 5a c0 rjmp .+180 ; 0x44c <__fp_inf>
- 398: 5f c0 rjmp .+190 ; 0x458 <__fp_nan>
- 39a: 11 24 eor r1, r1
- 39c: ee cf rjmp .-36 ; 0x37a <__fp_szero>
-
- 0000039e <__mulsf3x>:
- 39e: ca df rcall .-108 ; 0x334 <__fp_split3>
- 3a0: a0 f3 brcs .-24 ; 0x38a <__mulsf3+0x4>
-
- 000003a2 <__mulsf3_pse>:
- 3a2: 95 9f mul r25, r21
- 3a4: d1 f3 breq .-12 ; 0x39a <__mulsf3+0x14>
- 3a6: 95 0f add r25, r21
- 3a8: 50 e0 ldi r21, 0x00 ; 0
- 3aa: 55 1f adc r21, r21
- 3ac: 62 9f mul r22, r18
- 3ae: f0 01 movw r30, r0
- 3b0: 72 9f mul r23, r18
- 3b2: bb 27 eor r27, r27
- 3b4: f0 0d add r31, r0
- 3b6: b1 1d adc r27, r1
- 3b8: 63 9f mul r22, r19
- 3ba: aa 27 eor r26, r26
- 3bc: f0 0d add r31, r0
- 3be: b1 1d adc r27, r1
- 3c0: aa 1f adc r26, r26
- 3c2: 64 9f mul r22, r20
- 3c4: 66 27 eor r22, r22
- 3c6: b0 0d add r27, r0
- 3c8: a1 1d adc r26, r1
- 3ca: 66 1f adc r22, r22
- 3cc: 82 9f mul r24, r18
- 3ce: 22 27 eor r18, r18
- 3d0: b0 0d add r27, r0
- 3d2: a1 1d adc r26, r1
- 3d4: 62 1f adc r22, r18
- 3d6: 73 9f mul r23, r19
- 3d8: b0 0d add r27, r0
- 3da: a1 1d adc r26, r1
- 3dc: 62 1f adc r22, r18
- 3de: 83 9f mul r24, r19
- 3e0: a0 0d add r26, r0
- 3e2: 61 1d adc r22, r1
- 3e4: 22 1f adc r18, r18
- 3e6: 74 9f mul r23, r20
- 3e8: 33 27 eor r19, r19
- 3ea: a0 0d add r26, r0
- 3ec: 61 1d adc r22, r1
- 3ee: 23 1f adc r18, r19
- 3f0: 84 9f mul r24, r20
- 3f2: 60 0d add r22, r0
- 3f4: 21 1d adc r18, r1
- 3f6: 82 2f mov r24, r18
- 3f8: 76 2f mov r23, r22
- 3fa: 6a 2f mov r22, r26
- 3fc: 11 24 eor r1, r1
- 3fe: 9f 57 subi r25, 0x7F ; 127
- 400: 50 40 sbci r21, 0x00 ; 0
- 402: 8a f0 brmi .+34 ; 0x426 <__LOCK_REGION_LENGTH__+0x26>
- 404: e1 f0 breq .+56 ; 0x43e <__LOCK_REGION_LENGTH__+0x3e>
- 406: 88 23 and r24, r24
- 408: 4a f0 brmi .+18 ; 0x41c <__LOCK_REGION_LENGTH__+0x1c>
- 40a: ee 0f add r30, r30
- 40c: ff 1f adc r31, r31
- 40e: bb 1f adc r27, r27
- 410: 66 1f adc r22, r22
- 412: 77 1f adc r23, r23
- 414: 88 1f adc r24, r24
- 416: 91 50 subi r25, 0x01 ; 1
- 418: 50 40 sbci r21, 0x00 ; 0
- 41a: a9 f7 brne .-22 ; 0x406 <__LOCK_REGION_LENGTH__+0x6>
- 41c: 9e 3f cpi r25, 0xFE ; 254
- 41e: 51 05 cpc r21, r1
- 420: 70 f0 brcs .+28 ; 0x43e <__LOCK_REGION_LENGTH__+0x3e>
- 422: 14 c0 rjmp .+40 ; 0x44c <__fp_inf>
- 424: aa cf rjmp .-172 ; 0x37a <__fp_szero>
- 426: 5f 3f cpi r21, 0xFF ; 255
- 428: ec f3 brlt .-6 ; 0x424 <__LOCK_REGION_LENGTH__+0x24>
- 42a: 98 3e cpi r25, 0xE8 ; 232
- 42c: dc f3 brlt .-10 ; 0x424 <__LOCK_REGION_LENGTH__+0x24>
- 42e: 86 95 lsr r24
- 430: 77 95 ror r23
- 432: 67 95 ror r22
- 434: b7 95 ror r27
- 436: f7 95 ror r31
- 438: e7 95 ror r30
- 43a: 9f 5f subi r25, 0xFF ; 255
- 43c: c1 f7 brne .-16 ; 0x42e <__LOCK_REGION_LENGTH__+0x2e>
- 43e: fe 2b or r31, r30
- 440: 88 0f add r24, r24
- 442: 91 1d adc r25, r1
- 444: 96 95 lsr r25
- 446: 87 95 ror r24
- 448: 97 f9 bld r25, 7
- 44a: 08 95 ret
-
- 0000044c <__fp_inf>:
- 44c: 97 f9 bld r25, 7
- 44e: 9f 67 ori r25, 0x7F ; 127
- 450: 80 e8 ldi r24, 0x80 ; 128
- 452: 70 e0 ldi r23, 0x00 ; 0
- 454: 60 e0 ldi r22, 0x00 ; 0
- 456: 08 95 ret
-
- 00000458 <__fp_nan>:
- 458: 9f ef ldi r25, 0xFF ; 255
- 45a: 80 ec ldi r24, 0xC0 ; 192
- 45c: 08 95 ret
-
- 0000045e <__fp_pscA>:
- 45e: 00 24 eor r0, r0
- 460: 0a 94 dec r0
- 462: 16 16 cp r1, r22
- 464: 17 06 cpc r1, r23
- 466: 18 06 cpc r1, r24
- 468: 09 06 cpc r0, r25
- 46a: 08 95 ret
-
- 0000046c <__fp_pscB>:
- 46c: 00 24 eor r0, r0
- 46e: 0a 94 dec r0
- 470: 12 16 cp r1, r18
- 472: 13 06 cpc r1, r19
- 474: 14 06 cpc r1, r20
- 476: 05 06 cpc r0, r21
- 478: 08 95 ret
-
- 0000047a <__fp_round>:
- 47a: 09 2e mov r0, r25
- 47c: 03 94 inc r0
- 47e: 00 0c add r0, r0
- 480: 11 f4 brne .+4 ; 0x486 <__fp_round+0xc>
- 482: 88 23 and r24, r24
- 484: 52 f0 brmi .+20 ; 0x49a <__fp_round+0x20>
- 486: bb 0f add r27, r27
- 488: 40 f4 brcc .+16 ; 0x49a <__fp_round+0x20>
- 48a: bf 2b or r27, r31
- 48c: 11 f4 brne .+4 ; 0x492 <__fp_round+0x18>
- 48e: 60 ff sbrs r22, 0
- 490: 04 c0 rjmp .+8 ; 0x49a <__fp_round+0x20>
- 492: 6f 5f subi r22, 0xFF ; 255
- 494: 7f 4f sbci r23, 0xFF ; 255
- 496: 8f 4f sbci r24, 0xFF ; 255
- 498: 9f 4f sbci r25, 0xFF ; 255
- 49a: 08 95 ret
-
- 0000049c <_exit>:
- 49c: f8 94 cli
-
- 0000049e <__stop_program>:
- 49e: ff cf rjmp .-2 ; 0x49e <__stop_program>
|