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
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 : 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 : 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 : uint8_t u8DS18B20_Reset( void ) { uint8_t u8Status; //low for 480 us DS18B20_PORT &= ~ (1< 138: 00 c0 rjmp .+0 ; 0x13a 13a: 00 00 nop _delay_us(480); //release line and wait for 60 us DS18B20_DDR &= ~(1< 146: 00 c0 rjmp .+0 ; 0x148 148: 00 00 nop _delay_us(60); //get value and wait 420 us u8Status = (DS18B20_PIN & (1< 154: 00 c0 rjmp .+0 ; 0x156 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 : /* Write single bit to DS18B20 (61 us) */ /************************************************************************/ void vDS18B20_WriteBit( uint8_t u8Bit ) { //low for 1 us DS18B20_PORT &= ~ (1U< 166: 00 c0 rjmp .+0 ; 0x168 _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 { DS18B20_DDR &= ~(1< 176: 00 c0 rjmp .+0 ; 0x178 178: 00 00 nop } //wait 60 us and release the line _delay_us(60); DS18B20_DDR &= ~(1<: /************************************************************************/ /* 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 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_WriteBit( u8Byte & 1U ); u8Byte >>= 1U; } return; //void } 192: df 91 pop r29 194: cf 91 pop r28 196: 08 95 ret 00000198 : uint8_t u8DS18B20_ReadBit( void ) { uint8_t u8Bit = 0U; //low for 1 us DS18B20_PORT &= ~ (1U< 1a2: 00 c0 rjmp .+0 ; 0x1a4 _delay_us(1); //release line and wait for 14 us DS18B20_DDR &= ~(1U< 1ac: 00 00 nop _delay_us(14); //read the value if ( DS18B20_PIN & (1U< 1b8: 00 c0 rjmp .+0 ; 0x1ba 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 : /************************************************************************/ /* 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 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 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
: { uint8_t u8TempLo, u8TempHi; float f32Temperature; /* Init I/O: */ vInit(); 1e6: 79 df rcall .-270 ; 0xda /************************************************************************/ /* 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 202: 00 c0 rjmp .+0 ; 0x204 204: 00 00 nop /* wait 3 seconds for DS18B20 sensor */ _delay_ms(2400); while (1) { (void) u8DS18B20_Reset(); 206: 92 df rcall .-220 ; 0x12c vDS18B20_WriteByte( DS18B20_CMD_SKIPROM ); 208: 8c ec ldi r24, 0xCC ; 204 20a: b9 df rcall .-142 ; 0x17e vDS18B20_WriteByte( DS18B20_CMD_CONVERTTEMP ); 20c: 84 e4 ldi r24, 0x44 ; 68 20e: b7 df rcall .-146 ; 0x17e while ( !u8DS18B20_ReadBit() ); 210: c3 df rcall .-122 ; 0x198 212: 88 23 and r24, r24 214: e9 f3 breq .-6 ; 0x210 (void) u8DS18B20_Reset(); 216: 8a df rcall .-236 ; 0x12c vDS18B20_WriteByte( DS18B20_CMD_SKIPROM ); 218: 8c ec ldi r24, 0xCC ; 204 21a: b1 df rcall .-158 ; 0x17e vDS18B20_WriteByte( DS18B20_CMD_RSCRATCHPAD ); 21c: 8e eb ldi r24, 0xBE ; 190 21e: af df rcall .-162 ; 0x17e u8TempLo = u8DS18B20_ReadByte(); 220: d1 df rcall .-94 ; 0x1c4 222: c8 2f mov r28, r24 u8TempHi = u8DS18B20_ReadByte(); 224: cf df rcall .-98 ; 0x1c4 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 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 25c: 00 c0 rjmp .+0 ; 0x25e 25e: 00 00 nop 260: d2 cf rjmp .-92 ; 0x206 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>