heater3_6_2.elf: file format elf32-avr Sections: Idx Name Size VMA LMA File off Algn 0 .data 00000044 00800100 000018f4 00001988 2**0 CONTENTS, ALLOC, LOAD, DATA 1 .text 000018f4 00000000 00000000 00000094 2**1 CONTENTS, ALLOC, LOAD, READONLY, CODE 2 .bss 00000096 00800144 00800144 000019cc 2**0 ALLOC 3 .comment 0000005c 00000000 00000000 000019cc 2**0 CONTENTS, READONLY 4 .debug_aranges 000000e8 00000000 00000000 00001a28 2**0 CONTENTS, READONLY, DEBUGGING 5 .debug_info 000011b3 00000000 00000000 00001b10 2**0 CONTENTS, READONLY, DEBUGGING 6 .debug_abbrev 0000050b 00000000 00000000 00002cc3 2**0 CONTENTS, READONLY, DEBUGGING 7 .debug_line 00000508 00000000 00000000 000031ce 2**0 CONTENTS, READONLY, DEBUGGING 8 .debug_frame 000002d8 00000000 00000000 000036d8 2**2 CONTENTS, READONLY, DEBUGGING 9 .debug_str 000004d5 00000000 00000000 000039b0 2**0 CONTENTS, READONLY, DEBUGGING 10 .debug_loc 00000b53 00000000 00000000 00003e85 2**0 CONTENTS, READONLY, DEBUGGING 11 .debug_ranges 000000e0 00000000 00000000 000049d8 2**0 CONTENTS, READONLY, DEBUGGING Disassembly of section .text: 00000000 <__vectors>: 0: 0c 94 bf 00 jmp 0x17e ; 0x17e <__ctors_end> 4: 0c 94 16 01 jmp 0x22c ; 0x22c <__vector_1> 8: 0c 94 27 01 jmp 0x24e ; 0x24e <__vector_2> c: 0c 94 dc 00 jmp 0x1b8 ; 0x1b8 <__bad_interrupt> 10: 0c 94 dc 00 jmp 0x1b8 ; 0x1b8 <__bad_interrupt> 14: 0c 94 dc 00 jmp 0x1b8 ; 0x1b8 <__bad_interrupt> 18: 0c 94 dc 00 jmp 0x1b8 ; 0x1b8 <__bad_interrupt> 1c: 0c 94 03 01 jmp 0x206 ; 0x206 <__vector_7> 20: 0c 94 dc 00 jmp 0x1b8 ; 0x1b8 <__bad_interrupt> 24: 0c 94 dc 00 jmp 0x1b8 ; 0x1b8 <__bad_interrupt> 28: 0c 94 dc 00 jmp 0x1b8 ; 0x1b8 <__bad_interrupt> 2c: 0c 94 dc 00 jmp 0x1b8 ; 0x1b8 <__bad_interrupt> 30: 0c 94 dc 00 jmp 0x1b8 ; 0x1b8 <__bad_interrupt> 34: 0c 94 8d 01 jmp 0x31a ; 0x31a <__vector_13> 38: 0c 94 dc 00 jmp 0x1b8 ; 0x1b8 <__bad_interrupt> 3c: 0c 94 dc 00 jmp 0x1b8 ; 0x1b8 <__bad_interrupt> 40: 0c 94 dc 00 jmp 0x1b8 ; 0x1b8 <__bad_interrupt> 44: 0c 94 dc 00 jmp 0x1b8 ; 0x1b8 <__bad_interrupt> 48: 0c 94 dc 00 jmp 0x1b8 ; 0x1b8 <__bad_interrupt> 4c: 0c 94 dc 00 jmp 0x1b8 ; 0x1b8 <__bad_interrupt> 50: 0c 94 38 01 jmp 0x270 ; 0x270 <__vector_20> 54: 0c 94 dc 00 jmp 0x1b8 ; 0x1b8 <__bad_interrupt> 58: 0c 94 61 01 jmp 0x2c2 ; 0x2c2 <__vector_22> 5c: 0c 94 dc 00 jmp 0x1b8 ; 0x1b8 <__bad_interrupt> 60: 0c 94 83 01 jmp 0x306 ; 0x306 <__vector_24> 64: 0c 94 dc 00 jmp 0x1b8 ; 0x1b8 <__bad_interrupt> 68: 0c 94 dc 00 jmp 0x1b8 ; 0x1b8 <__bad_interrupt> 6c: 0c 94 dc 00 jmp 0x1b8 ; 0x1b8 <__bad_interrupt> 70: 0c 94 dc 00 jmp 0x1b8 ; 0x1b8 <__bad_interrupt> 74: 0c 94 dc 00 jmp 0x1b8 ; 0x1b8 <__bad_interrupt> 78: 0c 94 dc 00 jmp 0x1b8 ; 0x1b8 <__bad_interrupt> 0000007c <__trampolines_end>: 7c: 6e 61 ori r22, 0x1E ; 30 7e: 6e 00 .word 0x006e ; ???? 00000080 <__c.2159>: 80: 69 6e 66 00 00 40 7a 10 f3 5a 00 a0 72 4e 18 09 inf..@z..Z..rN.. 90: 00 10 a5 d4 e8 00 00 e8 76 48 17 00 00 e4 0b 54 ........vH.....T a0: 02 00 00 ca 9a 3b 00 00 00 e1 f5 05 00 00 80 96 .....;.......... b0: 98 00 00 00 40 42 0f 00 00 00 a0 86 01 00 00 00 ....@B.......... c0: 10 27 00 00 00 00 e8 03 00 00 00 00 64 00 00 00 .'..........d... d0: 00 00 0a 00 00 00 00 00 01 00 00 00 00 00 2c 76 ..............,v e0: d8 88 dc 67 4f 08 23 df c1 df ae 59 e1 b1 b7 96 ...gO.#....Y.... f0: e5 e3 e4 53 c6 3a e6 51 99 76 96 e8 e6 c2 84 26 ...S.:.Q.v.....& 100: eb 89 8c 9b 62 ed 40 7c 6f fc ef bc 9c 9f 40 f2 ....b.@|o.....@. 110: ba a5 6f a5 f4 90 05 5a 2a f7 5c 93 6b 6c f9 67 ..o....Z*.\.kl.g 120: 6d c1 1b fc e0 e4 0d 47 fe f5 20 e6 b5 00 d0 ed m......G.. ..... 130: 90 2e 03 00 94 35 77 05 00 80 84 1e 08 00 00 20 .....5w........ 140: 4e 0a 00 00 00 c8 0c 33 33 33 33 0f 98 6e 12 83 N......3333..n.. 150: 11 41 ef 8d 21 14 89 3b e6 55 16 cf fe e6 db 18 .A..!..;.U...... 160: d1 84 4b 38 1b f7 7c 1d 90 1d a4 bb e4 24 20 32 ..K8..|......$ 2 170: 84 72 5e 22 81 00 c9 f1 24 ec a1 e5 3d 27 .r^"....$...=' 0000017e <__ctors_end>: 17e: 11 24 eor r1, r1 180: 1f be out 0x3f, r1 ; 63 182: cf ef ldi r28, 0xFF ; 255 184: d0 e1 ldi r29, 0x10 ; 16 186: de bf out 0x3e, r29 ; 62 188: cd bf out 0x3d, r28 ; 61 0000018a <__do_copy_data>: 18a: 11 e0 ldi r17, 0x01 ; 1 18c: a0 e0 ldi r26, 0x00 ; 0 18e: b1 e0 ldi r27, 0x01 ; 1 190: e4 ef ldi r30, 0xF4 ; 244 192: f8 e1 ldi r31, 0x18 ; 24 194: 02 c0 rjmp .+4 ; 0x19a <__do_copy_data+0x10> 196: 05 90 lpm r0, Z+ 198: 0d 92 st X+, r0 19a: a4 34 cpi r26, 0x44 ; 68 19c: b1 07 cpc r27, r17 19e: d9 f7 brne .-10 ; 0x196 <__do_copy_data+0xc> 000001a0 <__do_clear_bss>: 1a0: 21 e0 ldi r18, 0x01 ; 1 1a2: a4 e4 ldi r26, 0x44 ; 68 1a4: b1 e0 ldi r27, 0x01 ; 1 1a6: 01 c0 rjmp .+2 ; 0x1aa <.do_clear_bss_start> 000001a8 <.do_clear_bss_loop>: 1a8: 1d 92 st X+, r1 000001aa <.do_clear_bss_start>: 1aa: aa 3d cpi r26, 0xDA ; 218 1ac: b2 07 cpc r27, r18 1ae: e1 f7 brne .-8 ; 0x1a8 <.do_clear_bss_loop> 1b0: 0e 94 d5 02 call 0x5aa ; 0x5aa
1b4: 0c 94 78 0c jmp 0x18f0 ; 0x18f0 <_exit> 000001b8 <__bad_interrupt>: 1b8: 0c 94 00 00 jmp 0 ; 0x0 <__vectors> 000001bc : return 0; } static int uart_putchar(char c, FILE *stream) { cli(); 1bc: f8 94 cli if(UCSR0A & (1 << UDRIE0)) 1be: 90 91 c0 00 lds r25, 0x00C0 1c2: 95 ff sbrs r25, 5 1c4: 03 c0 rjmp .+6 ; 0x1cc { UDR0 = c; 1c6: 80 93 c6 00 sts 0x00C6, r24 1ca: 14 c0 rjmp .+40 ; 0x1f4 } else { if(!FIFO_IS_FULL(fifo0)) 1cc: 90 91 cb 01 lds r25, 0x01CB 1d0: 29 2f mov r18, r25 1d2: 30 e0 ldi r19, 0x00 ; 0 1d4: 40 91 ca 01 lds r20, 0x01CA 1d8: 24 1b sub r18, r20 1da: 31 09 sbc r19, r1 1dc: 20 38 cpi r18, 0x80 ; 128 1de: 31 05 cpc r19, r1 1e0: 49 f0 breq .+18 ; 0x1f4 { FIFO_PUSH(fifo0, c); 1e2: e9 2f mov r30, r25 1e4: ef 77 andi r30, 0x7F ; 127 1e6: f0 e0 ldi r31, 0x00 ; 0 1e8: e6 5b subi r30, 0xB6 ; 182 1ea: fe 4f sbci r31, 0xFE ; 254 1ec: 80 83 st Z, r24 1ee: 9f 5f subi r25, 0xFF ; 255 1f0: 90 93 cb 01 sts 0x01CB, r25 } } sei(); 1f4: 78 94 sei return 0; } 1f6: 80 e0 ldi r24, 0x00 ; 0 1f8: 90 e0 ldi r25, 0x00 ; 0 1fa: 08 95 ret 000001fc : return(data); } static int lcd_putchar(char c, FILE *stream) { LCD_SendData(c); 1fc: 0e 94 7d 04 call 0x8fa ; 0x8fa return 0; } 200: 80 e0 ldi r24, 0x00 ; 0 202: 90 e0 ldi r25, 0x00 ; 0 204: 08 95 ret 00000206 <__vector_7>: volatile uint8_t tick = 0; FIFO(128) fifo0; ISR(PCINT3_vect) { 206: 1f 92 push r1 208: 0f 92 push r0 20a: 0f b6 in r0, 0x3f ; 63 20c: 0f 92 push r0 20e: 11 24 eor r1, r1 210: 8f 93 push r24 //PCICR &= ~(1 << PCIE3); btn_pressed = ~((BTNPIN >> 4) | 0xF0); 212: 89 b1 in r24, 0x09 ; 9 214: 82 95 swap r24 216: 8f 70 andi r24, 0x0F ; 15 218: 80 6f ori r24, 0xF0 ; 240 21a: 80 95 com r24 21c: 80 93 49 01 sts 0x0149, r24 } 220: 8f 91 pop r24 222: 0f 90 pop r0 224: 0f be out 0x3f, r0 ; 63 226: 0f 90 pop r0 228: 1f 90 pop r1 22a: 18 95 reti 0000022c <__vector_1>: ISR(INT0_vect) /*OVERCURRENT PROTECTION 1*/ { 22c: 1f 92 push r1 22e: 0f 92 push r0 230: 0f b6 in r0, 0x3f ; 63 232: 0f 92 push r0 234: 11 24 eor r1, r1 236: 8f 93 push r24 GATEPORT |= (1 << GATE1); 238: 46 9a sbi 0x08, 6 ; 8 LEDPORT &= ~(1 << LED1); 23a: 42 98 cbi 0x08, 2 ; 8 ocp_ch[0] = 1; 23c: 81 e0 ldi r24, 0x01 ; 1 23e: 80 93 45 01 sts 0x0145, r24 } 242: 8f 91 pop r24 244: 0f 90 pop r0 246: 0f be out 0x3f, r0 ; 63 248: 0f 90 pop r0 24a: 1f 90 pop r1 24c: 18 95 reti 0000024e <__vector_2>: ISR(INT1_vect) /*OVERCURRENT PROTECTION 2*/ { 24e: 1f 92 push r1 250: 0f 92 push r0 252: 0f b6 in r0, 0x3f ; 63 254: 0f 92 push r0 256: 11 24 eor r1, r1 258: 8f 93 push r24 GATEPORT |= (1 << GATE2); 25a: 47 9a sbi 0x08, 7 ; 8 LEDPORT &= ~(1 << LED2); 25c: 43 98 cbi 0x08, 3 ; 8 ocp_ch[1] = 1; 25e: 81 e0 ldi r24, 0x01 ; 1 260: 80 93 46 01 sts 0x0146, r24 } 264: 8f 91 pop r24 266: 0f 90 pop r0 268: 0f be out 0x3f, r0 ; 63 26a: 0f 90 pop r0 26c: 1f 90 pop r1 26e: 18 95 reti 00000270 <__vector_20>: ISR(USART0_RX_vect) { 270: 1f 92 push r1 272: 0f 92 push r0 274: 0f b6 in r0, 0x3f ; 63 276: 0f 92 push r0 278: 11 24 eor r1, r1 27a: 8f 93 push r24 27c: ef 93 push r30 27e: ff 93 push r31 rxbyte = UDR0; 280: 80 91 c6 00 lds r24, 0x00C6 284: 80 93 48 01 sts 0x0148, r24 if(rxcounter || (rxbyte == 0x55)) 288: 80 91 47 01 lds r24, 0x0147 28c: 81 11 cpse r24, r1 28e: 04 c0 rjmp .+8 ; 0x298 <__vector_20+0x28> 290: 80 91 48 01 lds r24, 0x0148 294: 85 35 cpi r24, 0x55 ; 85 296: 69 f4 brne .+26 ; 0x2b2 <__vector_20+0x42> { rxbuffer[rxcounter] = rxbyte; 298: e0 91 47 01 lds r30, 0x0147 29c: f0 e0 ldi r31, 0x00 ; 0 29e: 80 91 48 01 lds r24, 0x0148 2a2: e4 53 subi r30, 0x34 ; 52 2a4: fe 4f sbci r31, 0xFE ; 254 2a6: 80 83 st Z, r24 rxcounter++; 2a8: 80 91 47 01 lds r24, 0x0147 2ac: 8f 5f subi r24, 0xFF ; 255 2ae: 80 93 47 01 sts 0x0147, r24 } } 2b2: ff 91 pop r31 2b4: ef 91 pop r30 2b6: 8f 91 pop r24 2b8: 0f 90 pop r0 2ba: 0f be out 0x3f, r0 ; 63 2bc: 0f 90 pop r0 2be: 1f 90 pop r1 2c0: 18 95 reti 000002c2 <__vector_22>: ISR(USART0_TX_vect) { 2c2: 1f 92 push r1 2c4: 0f 92 push r0 2c6: 0f b6 in r0, 0x3f ; 63 2c8: 0f 92 push r0 2ca: 11 24 eor r1, r1 2cc: 8f 93 push r24 2ce: ef 93 push r30 2d0: ff 93 push r31 if(!FIFO_IS_EMPTY(fifo0)) 2d2: e0 91 ca 01 lds r30, 0x01CA 2d6: 80 91 cb 01 lds r24, 0x01CB 2da: e8 17 cp r30, r24 2dc: 61 f0 breq .+24 ; 0x2f6 <__vector_22+0x34> { UDR0 = FIFO_FRONT(fifo0); 2de: ef 77 andi r30, 0x7F ; 127 2e0: f0 e0 ldi r31, 0x00 ; 0 2e2: e6 5b subi r30, 0xB6 ; 182 2e4: fe 4f sbci r31, 0xFE ; 254 2e6: 80 81 ld r24, Z 2e8: 80 93 c6 00 sts 0x00C6, r24 FIFO_POP(fifo0); 2ec: ea ec ldi r30, 0xCA ; 202 2ee: f1 e0 ldi r31, 0x01 ; 1 2f0: 80 81 ld r24, Z 2f2: 8f 5f subi r24, 0xFF ; 255 2f4: 80 83 st Z, r24 } } 2f6: ff 91 pop r31 2f8: ef 91 pop r30 2fa: 8f 91 pop r24 2fc: 0f 90 pop r0 2fe: 0f be out 0x3f, r0 ; 63 300: 0f 90 pop r0 302: 1f 90 pop r1 304: 18 95 reti 00000306 <__vector_24>: ISR(ADC_vect) { 306: 1f 92 push r1 308: 0f 92 push r0 30a: 0f b6 in r0, 0x3f ; 63 30c: 0f 92 push r0 30e: 11 24 eor r1, r1 } 310: 0f 90 pop r0 312: 0f be out 0x3f, r0 ; 63 314: 0f 90 pop r0 316: 1f 90 pop r1 318: 18 95 reti 0000031a <__vector_13>: ISR(TIMER1_COMPA_vect) { 31a: 1f 92 push r1 31c: 0f 92 push r0 31e: 0f b6 in r0, 0x3f ; 63 320: 0f 92 push r0 322: 11 24 eor r1, r1 324: 8f 93 push r24 tick = 1; 326: 81 e0 ldi r24, 0x01 ; 1 328: 80 93 44 01 sts 0x0144, r24 } 32c: 8f 91 pop r24 32e: 0f 90 pop r0 330: 0f be out 0x3f, r0 ; 63 332: 0f 90 pop r0 334: 1f 90 pop r1 336: 18 95 reti 00000338 : void init() { /* Watchdog clear*/ MCUSR &= ~(1 << WDRF); 338: 84 b7 in r24, 0x34 ; 52 33a: 87 7f andi r24, 0xF7 ; 247 33c: 84 bf out 0x34, r24 ; 52 WDTCSR |= (1 << WDCE) | (1 << WDE); 33e: e0 e6 ldi r30, 0x60 ; 96 340: f0 e0 ldi r31, 0x00 ; 0 342: 80 81 ld r24, Z 344: 88 61 ori r24, 0x18 ; 24 346: 80 83 st Z, r24 WDTCSR = 0x00; 348: 10 82 st Z, r1 /* INT0 & INT1 Initialization*/ EICRA |= (1 << ISC01) | (1 << ISC11); 34a: e9 e6 ldi r30, 0x69 ; 105 34c: f0 e0 ldi r31, 0x00 ; 0 34e: 80 81 ld r24, Z 350: 8a 60 ori r24, 0x0A ; 10 352: 80 83 st Z, r24 EIMSK |= (1 << INT0) | (1 << INT1); 354: 8d b3 in r24, 0x1d ; 29 356: 83 60 ori r24, 0x03 ; 3 358: 8d bb out 0x1d, r24 ; 29 /* GPIO Initialization */ PORTC |= (1 << GATE1) | (1 << GATE2); 35a: 88 b1 in r24, 0x08 ; 8 35c: 80 6c ori r24, 0xC0 ; 192 35e: 88 b9 out 0x08, r24 ; 8 DDRC |= (1 << LED1) | (1 << LED2) | (1 << GATE1) | (1 << GATE2); 360: 87 b1 in r24, 0x07 ; 7 362: 8c 6c ori r24, 0xCC ; 204 364: 87 b9 out 0x07, r24 ; 7 /* UART Initialization */ TXD_PORT |= (1 << TXD_BIT); 366: 59 9a sbi 0x0b, 1 ; 11 TXD_DDR |= (1 << TXD_BIT); 368: 51 9a sbi 0x0a, 1 ; 10 UBRR0H = 0; 36a: 10 92 c5 00 sts 0x00C5, r1 UBRR0L = 38; 36e: 86 e2 ldi r24, 0x26 ; 38 370: 80 93 c4 00 sts 0x00C4, r24 UCSR0A = (1 << U2X0); 374: 22 e0 ldi r18, 0x02 ; 2 376: 20 93 c0 00 sts 0x00C0, r18 UCSR0B = (1 << RXCIE0) | (1 << TXCIE0) | (1 << RXEN0) | (1 << TXEN0); 37a: 88 ed ldi r24, 0xD8 ; 216 37c: 80 93 c1 00 sts 0x00C1, r24 UCSR0C = (1 << UCSZ00) | (1 << UCSZ01); 380: 86 e0 ldi r24, 0x06 ; 6 382: 80 93 c2 00 sts 0x00C2, r24 /* SPI Initialization */ DDRB |= (1 << MOSI_BIT) | (1 << SCK_BIT) | (1 << SS_BIT) | (7 << PORTB0); 386: 84 b1 in r24, 0x04 ; 4 388: 87 6b ori r24, 0xB7 ; 183 38a: 84 b9 out 0x04, r24 ; 4 PORTB |= (1 << MOSI_BIT) | (1 << SCK_BIT) | (1 << SS_BIT); 38c: 85 b1 in r24, 0x05 ; 5 38e: 80 6b ori r24, 0xB0 ; 176 390: 85 b9 out 0x05, r24 ; 5 SPCR = (1 << SPE) | (1 << MSTR); 392: 80 e5 ldi r24, 0x50 ; 80 394: 8c bd out 0x2c, r24 ; 44 /* TWI Initialization */ TWBR = (uint8_t)(((F_CPU / TWI_FREQ) - 16) / 2); 396: 84 e0 ldi r24, 0x04 ; 4 398: 80 93 b8 00 sts 0x00B8, r24 TWCR = (1 << TWEN); 39c: 80 93 bc 00 sts 0x00BC, r24 /* Timer1 Initialization */ TCCR1B = (1 << CS12) | (1 << CS10) | (1 << WGM12); 3a0: 8d e0 ldi r24, 0x0D ; 13 3a2: 80 93 81 00 sts 0x0081, r24 OCR1A = 0x400; 3a6: 80 e0 ldi r24, 0x00 ; 0 3a8: 94 e0 ldi r25, 0x04 ; 4 3aa: 90 93 89 00 sts 0x0089, r25 3ae: 80 93 88 00 sts 0x0088, r24 TIMSK1 = (1 << OCIE1A); 3b2: 20 93 6f 00 sts 0x006F, r18 /* ADC Initialization */ ADMUX |= (1 << REFS0) | (1 << REFS1); 3b6: ec e7 ldi r30, 0x7C ; 124 3b8: f0 e0 ldi r31, 0x00 ; 0 3ba: 80 81 ld r24, Z 3bc: 80 6c ori r24, 0xC0 ; 192 3be: 80 83 st Z, r24 ADCSRA = (1 << ADEN) | (1 << ADPS2); 3c0: 84 e8 ldi r24, 0x84 ; 132 3c2: 80 93 7a 00 sts 0x007A, r24 DIDR0 = 0xFF; 3c6: 8f ef ldi r24, 0xFF ; 255 3c8: 80 93 7e 00 sts 0x007E, r24 PCICR = (1 << PCIE3); 3cc: 88 e0 ldi r24, 0x08 ; 8 3ce: 80 93 68 00 sts 0x0068, r24 PCMSK3 = 0xF0; 3d2: 80 ef ldi r24, 0xF0 ; 240 3d4: 80 93 73 00 sts 0x0073, r24 sei(); 3d8: 78 94 sei 3da: 08 95 ret 000003dc : } void POT_SendData(uint8_t data, potnum_t potnum) { PORTB = (PORTB & 0xF8) | (potnum & 0x07); 3dc: 95 b1 in r25, 0x05 ; 5 3de: 67 70 andi r22, 0x07 ; 7 3e0: 98 7f andi r25, 0xF8 ; 248 3e2: 69 2b or r22, r25 3e4: 65 b9 out 0x05, r22 ; 5 PORTB &= ~(1 << SS_BIT); 3e6: 2c 98 cbi 0x05, 4 ; 5 SPDR = 0x11; 3e8: 91 e1 ldi r25, 0x11 ; 17 3ea: 9e bd out 0x2e, r25 ; 46 while(!(SPSR & (1 < SPDR = data; 3f2: 8e bd out 0x2e, r24 ; 46 while(!(SPSR & (1 < PORTB |= (1 << SS_BIT); 3fa: 2c 9a sbi 0x05, 4 ; 5 3fc: 08 95 ret 000003fe : } float SetGateVoltage(uint8_t gatenum, float voltage) { 3fe: cf 92 push r12 400: df 92 push r13 402: ef 92 push r14 404: ff 92 push r15 406: cf 93 push r28 408: 6a 01 movw r12, r20 40a: 7b 01 movw r14, r22 /* OpAmp Gain is 3, potentiometer voltage range 0 ~ 3.3 */ /* voltage / ((3.3 / 255) * 3) = voltage * 25.76 */ uint8_t potval; gatenum = POT_DRIVE1 + (gatenum & 0x01); 40c: c8 2f mov r28, r24 40e: c1 70 andi r28, 0x01 ; 1 potval = (uint8_t)(voltage * 25.76); 410: 2b e7 ldi r18, 0x7B ; 123 412: 34 e1 ldi r19, 0x14 ; 20 414: 4e ec ldi r20, 0xCE ; 206 416: 51 e4 ldi r21, 0x41 ; 65 418: c7 01 movw r24, r14 41a: b6 01 movw r22, r12 41c: 0e 94 84 06 call 0xd08 ; 0xd08 <__mulsf3> 420: 0e 94 ca 05 call 0xb94 ; 0xb94 <__fixunssfsi> 424: f6 2e mov r15, r22 float SetGateVoltage(uint8_t gatenum, float voltage) { /* OpAmp Gain is 3, potentiometer voltage range 0 ~ 3.3 */ /* voltage / ((3.3 / 255) * 3) = voltage * 25.76 */ uint8_t potval; gatenum = POT_DRIVE1 + (gatenum & 0x01); 426: 64 e0 ldi r22, 0x04 ; 4 428: 6c 0f add r22, r28 potval = (uint8_t)(voltage * 25.76); POT_SendData(potval, gatenum); 42a: 8f 2d mov r24, r15 42c: 0e 94 ee 01 call 0x3dc ; 0x3dc return ((float)potval / 25.76); 430: 6f 2d mov r22, r15 432: 70 e0 ldi r23, 0x00 ; 0 434: 80 e0 ldi r24, 0x00 ; 0 436: 90 e0 ldi r25, 0x00 ; 0 438: 0e 94 f6 05 call 0xbec ; 0xbec <__floatunsisf> 43c: 2b e7 ldi r18, 0x7B ; 123 43e: 34 e1 ldi r19, 0x14 ; 20 440: 4e ec ldi r20, 0xCE ; 206 442: 51 e4 ldi r21, 0x41 ; 65 444: 0e 94 62 05 call 0xac4 ; 0xac4 <__divsf3> } 448: cf 91 pop r28 44a: ff 90 pop r15 44c: ef 90 pop r14 44e: df 90 pop r13 450: cf 90 pop r12 452: 08 95 ret 00000454 : float SetOpampGain(uint8_t opampnum, float gain) { 454: cf 92 push r12 456: df 92 push r13 458: ef 92 push r14 45a: ff 92 push r15 45c: cf 93 push r28 45e: 6a 01 movw r12, r20 460: 7b 01 movw r14, r22 uint8_t potval; opampnum = ((opampnum & 0x01) * 2) + 1; 462: 81 70 andi r24, 0x01 ; 1 464: c8 2f mov r28, r24 466: cc 0f add r28, r28 potval = (uint8_t)((8.448 * gain) - 8.9088); 468: 22 e0 ldi r18, 0x02 ; 2 46a: 3b e2 ldi r19, 0x2B ; 43 46c: 47 e0 ldi r20, 0x07 ; 7 46e: 51 e4 ldi r21, 0x41 ; 65 470: c7 01 movw r24, r14 472: b6 01 movw r22, r12 474: 0e 94 84 06 call 0xd08 ; 0xd08 <__mulsf3> 478: 22 e7 ldi r18, 0x72 ; 114 47a: 3a e8 ldi r19, 0x8A ; 138 47c: 4e e0 ldi r20, 0x0E ; 14 47e: 51 e4 ldi r21, 0x41 ; 65 480: 0e 94 fd 04 call 0x9fa ; 0x9fa <__subsf3> 484: 0e 94 ca 05 call 0xb94 ; 0xb94 <__fixunssfsi> 488: f6 2e mov r15, r22 } float SetOpampGain(uint8_t opampnum, float gain) { uint8_t potval; opampnum = ((opampnum & 0x01) * 2) + 1; 48a: 61 e0 ldi r22, 0x01 ; 1 48c: 6c 0f add r22, r28 potval = (uint8_t)((8.448 * gain) - 8.9088); POT_SendData(potval, opampnum); 48e: 8f 2d mov r24, r15 490: 0e 94 ee 01 call 0x3dc ; 0x3dc return (((float)potval + 8.9088) / 8.448); 494: 6f 2d mov r22, r15 496: 70 e0 ldi r23, 0x00 ; 0 498: 80 e0 ldi r24, 0x00 ; 0 49a: 90 e0 ldi r25, 0x00 ; 0 49c: 0e 94 f6 05 call 0xbec ; 0xbec <__floatunsisf> 4a0: 22 e7 ldi r18, 0x72 ; 114 4a2: 3a e8 ldi r19, 0x8A ; 138 4a4: 4e e0 ldi r20, 0x0E ; 14 4a6: 51 e4 ldi r21, 0x41 ; 65 4a8: 0e 94 fe 04 call 0x9fc ; 0x9fc <__addsf3> 4ac: 22 e0 ldi r18, 0x02 ; 2 4ae: 3b e2 ldi r19, 0x2B ; 43 4b0: 47 e0 ldi r20, 0x07 ; 7 4b2: 51 e4 ldi r21, 0x41 ; 65 4b4: 0e 94 62 05 call 0xac4 ; 0xac4 <__divsf3> } 4b8: cf 91 pop r28 4ba: ff 90 pop r15 4bc: ef 90 pop r14 4be: df 90 pop r13 4c0: cf 90 pop r12 4c2: 08 95 ret 000004c4 : float SetOpampShift(uint8_t opampnum, float shift) { 4c4: cf 92 push r12 4c6: df 92 push r13 4c8: ef 92 push r14 4ca: ff 92 push r15 4cc: cf 93 push r28 4ce: 6a 01 movw r12, r20 4d0: 7b 01 movw r14, r22 uint8_t potval; opampnum = (opampnum & 0x01) * 2; 4d2: c8 2f mov r28, r24 4d4: c1 70 andi r28, 0x01 ; 1 potval = (uint8_t)((shift * 255.0) / 2.037); 4d6: 20 e0 ldi r18, 0x00 ; 0 4d8: 30 e0 ldi r19, 0x00 ; 0 4da: 4f e7 ldi r20, 0x7F ; 127 4dc: 53 e4 ldi r21, 0x43 ; 67 4de: c7 01 movw r24, r14 4e0: b6 01 movw r22, r12 4e2: 0e 94 84 06 call 0xd08 ; 0xd08 <__mulsf3> 4e6: 25 e3 ldi r18, 0x35 ; 53 4e8: 3e e5 ldi r19, 0x5E ; 94 4ea: 42 e0 ldi r20, 0x02 ; 2 4ec: 50 e4 ldi r21, 0x40 ; 64 4ee: 0e 94 62 05 call 0xac4 ; 0xac4 <__divsf3> 4f2: 0e 94 ca 05 call 0xb94 ; 0xb94 <__fixunssfsi> 4f6: f6 2e mov r15, r22 } float SetOpampShift(uint8_t opampnum, float shift) { uint8_t potval; opampnum = (opampnum & 0x01) * 2; 4f8: 6c 2f mov r22, r28 4fa: 66 0f add r22, r22 potval = (uint8_t)((shift * 255.0) / 2.037); POT_SendData(potval, opampnum); 4fc: 8f 2d mov r24, r15 4fe: 0e 94 ee 01 call 0x3dc ; 0x3dc return (((float)potval * 2.037) / 255.0); 502: 6f 2d mov r22, r15 504: 70 e0 ldi r23, 0x00 ; 0 506: 80 e0 ldi r24, 0x00 ; 0 508: 90 e0 ldi r25, 0x00 ; 0 50a: 0e 94 f6 05 call 0xbec ; 0xbec <__floatunsisf> 50e: 25 e3 ldi r18, 0x35 ; 53 510: 3e e5 ldi r19, 0x5E ; 94 512: 42 e0 ldi r20, 0x02 ; 2 514: 50 e4 ldi r21, 0x40 ; 64 516: 0e 94 84 06 call 0xd08 ; 0xd08 <__mulsf3> 51a: 20 e0 ldi r18, 0x00 ; 0 51c: 30 e0 ldi r19, 0x00 ; 0 51e: 4f e7 ldi r20, 0x7F ; 127 520: 53 e4 ldi r21, 0x43 ; 67 522: 0e 94 62 05 call 0xac4 ; 0xac4 <__divsf3> } 526: cf 91 pop r28 528: ff 90 pop r15 52a: ef 90 pop r14 52c: df 90 pop r13 52e: cf 90 pop r12 530: 08 95 ret 00000532 : void SetInputRange(opamp_t *op, float vlow, float vhigh) { 532: cf 92 push r12 534: df 92 push r13 536: ef 92 push r14 538: ff 92 push r15 53a: 0f 93 push r16 53c: 1f 93 push r17 53e: cf 93 push r28 540: df 93 push r29 542: ec 01 movw r28, r24 544: 6a 01 movw r12, r20 546: 7b 01 movw r14, r22 548: c9 01 movw r24, r18 54a: b8 01 movw r22, r16 op->gain = SetOpampGain(op->ch, (3.3 / (vhigh - vlow))); 54c: a7 01 movw r20, r14 54e: 96 01 movw r18, r12 550: 0e 94 fd 04 call 0x9fa ; 0x9fa <__subsf3> 554: 9b 01 movw r18, r22 556: ac 01 movw r20, r24 558: 63 e3 ldi r22, 0x33 ; 51 55a: 73 e3 ldi r23, 0x33 ; 51 55c: 83 e5 ldi r24, 0x53 ; 83 55e: 90 e4 ldi r25, 0x40 ; 64 560: 0e 94 62 05 call 0xac4 ; 0xac4 <__divsf3> 564: ab 01 movw r20, r22 566: bc 01 movw r22, r24 568: 88 81 ld r24, Y 56a: 0e 94 2a 02 call 0x454 ; 0x454 56e: 69 83 std Y+1, r22 ; 0x01 570: 7a 83 std Y+2, r23 ; 0x02 572: 8b 83 std Y+3, r24 ; 0x03 574: 9c 83 std Y+4, r25 ; 0x04 op->shift = SetOpampShift(op->ch, (0.758 * vlow)); 576: 2a e4 ldi r18, 0x4A ; 74 578: 3c e0 ldi r19, 0x0C ; 12 57a: 42 e4 ldi r20, 0x42 ; 66 57c: 5f e3 ldi r21, 0x3F ; 63 57e: c7 01 movw r24, r14 580: b6 01 movw r22, r12 582: 0e 94 84 06 call 0xd08 ; 0xd08 <__mulsf3> 586: ab 01 movw r20, r22 588: bc 01 movw r22, r24 58a: 88 81 ld r24, Y 58c: 0e 94 62 02 call 0x4c4 ; 0x4c4 590: 6d 83 std Y+5, r22 ; 0x05 592: 7e 83 std Y+6, r23 ; 0x06 594: 8f 83 std Y+7, r24 ; 0x07 596: 98 87 std Y+8, r25 ; 0x08 } 598: df 91 pop r29 59a: cf 91 pop r28 59c: 1f 91 pop r17 59e: 0f 91 pop r16 5a0: ff 90 pop r15 5a2: ef 90 pop r14 5a4: df 90 pop r13 5a6: cf 90 pop r12 5a8: 08 95 ret 000005aa
: break; }*/ } int main() { 5aa: cf 93 push r28 5ac: df 93 push r29 5ae: cd b7 in r28, 0x3d ; 61 5b0: de b7 in r29, 0x3e ; 62 5b2: 6a 97 sbiw r28, 0x1a ; 26 5b4: 0f b6 in r0, 0x3f ; 63 5b6: f8 94 cli 5b8: de bf out 0x3e, r29 ; 62 5ba: 0f be out 0x3f, r0 ; 63 5bc: cd bf out 0x3d, r28 ; 61 heater_ch[i].tmeas_raw = 0; heater_ch[i].tset = 0; heater_ch[i].tset_raw = 0; heater_ch[i].current = 0; heater_ch[i].checksum = 0; opamp_ch[i].ch = i; 5be: 19 82 std Y+1, r1 ; 0x01 opamp_ch[i].drive = 0; 5c0: 1a 86 std Y+10, r1 ; 0x0a 5c2: 1b 86 std Y+11, r1 ; 0x0b 5c4: 1c 86 std Y+12, r1 ; 0x0c 5c6: 1d 86 std Y+13, r1 ; 0x0d heater_ch[i].tmeas_raw = 0; heater_ch[i].tset = 0; heater_ch[i].tset_raw = 0; heater_ch[i].current = 0; heater_ch[i].checksum = 0; opamp_ch[i].ch = i; 5c8: 81 e0 ldi r24, 0x01 ; 1 5ca: 8e 87 std Y+14, r24 ; 0x0e opamp_ch[i].drive = 0; 5cc: 1f 8a std Y+23, r1 ; 0x17 5ce: 18 8e std Y+24, r1 ; 0x18 5d0: 19 8e std Y+25, r1 ; 0x19 5d2: 1a 8e std Y+26, r1 ; 0x1a } static FILE lcd_stdout = FDEV_SETUP_STREAM(lcd_putchar, NULL, _FDEV_SETUP_WRITE); static FILE uart_stdout = FDEV_SETUP_STREAM(uart_putchar, NULL, _FDEV_SETUP_WRITE); stdout = &uart_stdout; 5d4: 8e e0 ldi r24, 0x0E ; 14 5d6: 91 e0 ldi r25, 0x01 ; 1 5d8: 90 93 d7 01 sts 0x01D7, r25 5dc: 80 93 d6 01 sts 0x01D6, r24 init(); 5e0: 0e 94 9c 01 call 0x338 ; 0x338 LCD_Init(); 5e4: 0e 94 cd 04 call 0x99a ; 0x99a printf("HELLO\r\n"); 5e8: 8c e1 ldi r24, 0x1C ; 28 5ea: 91 e0 ldi r25, 0x01 ; 1 5ec: 0e 94 ed 0b call 0x17da ; 0x17da fprintf(&lcd_stdout, "\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF"); 5f0: 20 e0 ldi r18, 0x00 ; 0 5f2: 31 e0 ldi r19, 0x01 ; 1 5f4: 40 e1 ldi r20, 0x10 ; 16 5f6: 50 e0 ldi r21, 0x00 ; 0 5f8: 61 e0 ldi r22, 0x01 ; 1 5fa: 70 e0 ldi r23, 0x00 ; 0 5fc: 83 e2 ldi r24, 0x23 ; 35 5fe: 91 e0 ldi r25, 0x01 ; 1 600: 0e 94 b9 0b call 0x1772 ; 0x1772 LCD_SetPos(0, 1); 604: 61 e0 ldi r22, 0x01 ; 1 606: 80 e0 ldi r24, 0x00 ; 0 608: 0e 94 c3 04 call 0x986 ; 0x986 fprintf(&lcd_stdout, "\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF\xFF"); 60c: 20 e0 ldi r18, 0x00 ; 0 60e: 31 e0 ldi r19, 0x01 ; 1 610: 40 e1 ldi r20, 0x10 ; 16 612: 50 e0 ldi r21, 0x00 ; 0 614: 61 e0 ldi r22, 0x01 ; 1 616: 70 e0 ldi r23, 0x00 ; 0 618: 83 e2 ldi r24, 0x23 ; 35 61a: 91 e0 ldi r25, 0x01 ; 1 61c: 0e 94 b9 0b call 0x1772 ; 0x1772 SetGateVoltage(0, 0.0); 620: 40 e0 ldi r20, 0x00 ; 0 622: 50 e0 ldi r21, 0x00 ; 0 624: ba 01 movw r22, r20 626: 80 e0 ldi r24, 0x00 ; 0 628: 0e 94 ff 01 call 0x3fe ; 0x3fe SetGateVoltage(1, 0.0); 62c: 40 e0 ldi r20, 0x00 ; 0 62e: 50 e0 ldi r21, 0x00 ; 0 630: ba 01 movw r22, r20 632: 81 e0 ldi r24, 0x01 ; 1 634: 0e 94 ff 01 call 0x3fe ; 0x3fe SetInputRange(&opamp_ch[0], 0.35, 0.6); 638: 0a e9 ldi r16, 0x9A ; 154 63a: 19 e9 ldi r17, 0x99 ; 153 63c: 29 e1 ldi r18, 0x19 ; 25 63e: 3f e3 ldi r19, 0x3F ; 63 640: 43 e3 ldi r20, 0x33 ; 51 642: 53 e3 ldi r21, 0x33 ; 51 644: 63 eb ldi r22, 0xB3 ; 179 646: 7e e3 ldi r23, 0x3E ; 62 648: ce 01 movw r24, r28 64a: 01 96 adiw r24, 0x01 ; 1 64c: 0e 94 99 02 call 0x532 ; 0x532 SetInputRange(&opamp_ch[1], 1.0, 4.0); 650: 00 e0 ldi r16, 0x00 ; 0 652: 10 e0 ldi r17, 0x00 ; 0 654: 20 e8 ldi r18, 0x80 ; 128 656: 30 e4 ldi r19, 0x40 ; 64 658: 40 e0 ldi r20, 0x00 ; 0 65a: 50 e0 ldi r21, 0x00 ; 0 65c: 60 e8 ldi r22, 0x80 ; 128 65e: 7f e3 ldi r23, 0x3F ; 63 660: ce 01 movw r24, r28 662: 0e 96 adiw r24, 0x0e ; 14 664: 0e 94 99 02 call 0x532 ; 0x532 int main() { uint16_t i = 0; uint8_t adc_ch = 0; uint16_t adc_data = 0; uint8_t trig = 0; 668: c1 2c mov r12, r1 } int main() { uint16_t i = 0; uint8_t adc_ch = 0; 66a: d1 2c mov r13, r1 //transmit(&packet_ch[0]); i = 0; while(1) { if(ocp_ch[0] == 1) 66c: 0f 2e mov r0, r31 66e: f5 e4 ldi r31, 0x45 ; 69 670: ef 2e mov r14, r31 672: f1 e0 ldi r31, 0x01 ; 1 674: ff 2e mov r15, r31 676: f0 2d mov r31, r0 fprintf(&lcd_stdout, " OVERCURRENT "); ocp_ch[0] = 0; _delay_ms(10); } if(ocp_ch[1] == 1) 678: 06 e4 ldi r16, 0x46 ; 70 67a: 11 e0 ldi r17, 0x01 ; 1 fprintf(&lcd_stdout, " OVERCURRENT "); ocp_ch[1] = 0; _delay_ms(10); } if((rxcounter == 2) && (rxbuffer[1] == 'R')) 67c: 0f 2e mov r0, r31 67e: fd ec ldi r31, 0xCD ; 205 680: af 2e mov r10, r31 682: f1 e0 ldi r31, 0x01 ; 1 684: bf 2e mov r11, r31 686: f0 2d mov r31, r0 for(i = 1; i < 7; i++) { temp += rxbuffer[i]; } if(temp == rxbuffer[7]) 688: 0f 2e mov r0, r31 68a: f3 ed ldi r31, 0xD3 ; 211 68c: 2f 2e mov r2, r31 68e: f1 e0 ldi r31, 0x01 ; 1 690: 3f 2e mov r3, r31 692: f0 2d mov r31, r0 } else { //PORTC |= (1 << GATE1); //_delay_us(50); ADMUX = (ADMUX & 0xF8) | adc_ch; 694: 0f 2e mov r0, r31 696: fc e7 ldi r31, 0x7C ; 124 698: 4f 2e mov r4, r31 69a: 51 2c mov r5, r1 69c: f0 2d mov r31, r0 ADCSRA |= (1 << ADSC); 69e: 0f 2e mov r0, r31 6a0: fa e7 ldi r31, 0x7A ; 122 6a2: 6f 2e mov r6, r31 6a4: 71 2c mov r7, r1 6a6: f0 2d mov r31, r0 if(tick) { tick = 0; if(trig) { adc_data = ADCL; 6a8: 0f 2e mov r0, r31 6aa: f8 e7 ldi r31, 0x78 ; 120 6ac: 8f 2e mov r8, r31 6ae: 91 2c mov r9, r1 6b0: f0 2d mov r31, r0 //transmit(&packet_ch[0]); i = 0; while(1) { if(ocp_ch[0] == 1) 6b2: f7 01 movw r30, r14 6b4: 80 81 ld r24, Z 6b6: 81 30 cpi r24, 0x01 ; 1 6b8: b1 f4 brne .+44 ; 0x6e6 { LCD_SetPos(0, 0); 6ba: 60 e0 ldi r22, 0x00 ; 0 6bc: 80 e0 ldi r24, 0x00 ; 0 6be: 0e 94 c3 04 call 0x986 ; 0x986 fprintf(&lcd_stdout, " OVERCURRENT "); 6c2: 20 e0 ldi r18, 0x00 ; 0 6c4: 31 e0 ldi r19, 0x01 ; 1 6c6: 4f e0 ldi r20, 0x0F ; 15 6c8: 50 e0 ldi r21, 0x00 ; 0 6ca: 61 e0 ldi r22, 0x01 ; 1 6cc: 70 e0 ldi r23, 0x00 ; 0 6ce: 84 e3 ldi r24, 0x34 ; 52 6d0: 91 e0 ldi r25, 0x01 ; 1 6d2: 0e 94 b9 0b call 0x1772 ; 0x1772 ocp_ch[0] = 0; 6d6: f7 01 movw r30, r14 6d8: 10 82 st Z, r1 #else //round up by default __ticks_dc = (uint32_t)(ceil(fabs(__tmp))); #endif __builtin_avr_delay_cycles(__ticks_dc); 6da: 8f e2 ldi r24, 0x2F ; 47 6dc: 95 e7 ldi r25, 0x75 ; 117 6de: 01 97 sbiw r24, 0x01 ; 1 6e0: f1 f7 brne .-4 ; 0x6de 6e2: 00 c0 rjmp .+0 ; 0x6e4 6e4: 00 00 nop _delay_ms(10); } if(ocp_ch[1] == 1) 6e6: f8 01 movw r30, r16 6e8: 80 81 ld r24, Z 6ea: 81 30 cpi r24, 0x01 ; 1 6ec: b1 f4 brne .+44 ; 0x71a { LCD_SetPos(0, 1); 6ee: 61 e0 ldi r22, 0x01 ; 1 6f0: 80 e0 ldi r24, 0x00 ; 0 6f2: 0e 94 c3 04 call 0x986 ; 0x986 fprintf(&lcd_stdout, " OVERCURRENT "); 6f6: 20 e0 ldi r18, 0x00 ; 0 6f8: 31 e0 ldi r19, 0x01 ; 1 6fa: 4f e0 ldi r20, 0x0F ; 15 6fc: 50 e0 ldi r21, 0x00 ; 0 6fe: 61 e0 ldi r22, 0x01 ; 1 700: 70 e0 ldi r23, 0x00 ; 0 702: 84 e3 ldi r24, 0x34 ; 52 704: 91 e0 ldi r25, 0x01 ; 1 706: 0e 94 b9 0b call 0x1772 ; 0x1772 ocp_ch[1] = 0; 70a: f8 01 movw r30, r16 70c: 10 82 st Z, r1 70e: 8f e2 ldi r24, 0x2F ; 47 710: 95 e7 ldi r25, 0x75 ; 117 712: 01 97 sbiw r24, 0x01 ; 1 714: f1 f7 brne .-4 ; 0x712 716: 00 c0 rjmp .+0 ; 0x718 718: 00 00 nop _delay_ms(10); } if((rxcounter == 2) && (rxbuffer[1] == 'R')) 71a: 80 91 47 01 lds r24, 0x0147 71e: 82 30 cpi r24, 0x02 ; 2 720: 59 f4 brne .+22 ; 0x738 722: f5 01 movw r30, r10 724: 80 81 ld r24, Z 726: 82 35 cpi r24, 0x52 ; 82 728: 39 f4 brne .+14 ; 0x738 { cli(); 72a: f8 94 cli WDTCSR |= (1 << WDCE) | (1 << WDE); 72c: e0 e6 ldi r30, 0x60 ; 96 72e: f0 e0 ldi r31, 0x00 ; 0 730: 80 81 ld r24, Z 732: 88 61 ori r24, 0x18 ; 24 734: 80 83 st Z, r24 736: ff cf rjmp .-2 ; 0x736 while(1); } if(rxcounter == 8) 738: 80 91 47 01 lds r24, 0x0147 73c: 88 30 cpi r24, 0x08 ; 8 73e: a9 f4 brne .+42 ; 0x76a { rxcounter = 0; 740: 10 92 47 01 sts 0x0147, r1 uint8_t temp = 0; for(i = 1; i < 7; i++) { temp += rxbuffer[i]; 744: f5 01 movw r30, r10 746: 80 81 ld r24, Z 748: ee ec ldi r30, 0xCE ; 206 74a: f1 e0 ldi r31, 0x01 ; 1 74c: 80 81 ld r24, Z 74e: ef ec ldi r30, 0xCF ; 207 750: f1 e0 ldi r31, 0x01 ; 1 752: 80 81 ld r24, Z 754: e0 ed ldi r30, 0xD0 ; 208 756: f1 e0 ldi r31, 0x01 ; 1 758: 80 81 ld r24, Z 75a: e1 ed ldi r30, 0xD1 ; 209 75c: f1 e0 ldi r31, 0x01 ; 1 75e: 80 81 ld r24, Z 760: e2 ed ldi r30, 0xD2 ; 210 762: f1 e0 ldi r31, 0x01 ; 1 764: 80 81 ld r24, Z } if(temp == rxbuffer[7]) 766: f1 01 movw r30, r2 768: 80 81 ld r24, Z { exec_cmd((rxdata_str*)rxbuffer); } } if(tick) 76a: 80 91 44 01 lds r24, 0x0144 76e: 88 23 and r24, r24 770: e9 f1 breq .+122 ; 0x7ec { tick = 0; 772: 10 92 44 01 sts 0x0144, r1 if(trig) 776: cc 20 and r12, r12 778: 61 f1 breq .+88 ; 0x7d2 { adc_data = ADCL; 77a: f4 01 movw r30, r8 77c: 80 81 ld r24, Z adc_data |= ((uint16_t)ADCH) << 8; 77e: e9 e7 ldi r30, 0x79 ; 121 780: f0 e0 ldi r31, 0x00 ; 0 782: 80 81 ld r24, Z switch(adc_ch) 784: f1 e0 ldi r31, 0x01 ; 1 786: df 16 cp r13, r31 788: 71 f0 breq .+28 ; 0x7a6 78a: df 16 cp r13, r31 78c: 38 f0 brcs .+14 ; 0x79c 78e: 82 e0 ldi r24, 0x02 ; 2 790: d8 16 cp r13, r24 792: 71 f0 breq .+28 ; 0x7b0 794: 93 e0 ldi r25, 0x03 ; 3 796: d9 16 cp r13, r25 798: 81 f0 breq .+32 ; 0x7ba 79a: 14 c0 rjmp .+40 ; 0x7c4 { case ADC_MEAS1: //heater_ch[0].tmeas_raw = adc_data; temp = (((float)adc_data * 2.56) / (opamp_ch[0].gain * 775.434)) + (opamp_ch[0].shift / 0.758); //temp = ((float)adc_data * 2.56) / 1023; LCD_SetPos(0, 0); 79c: 60 e0 ldi r22, 0x00 ; 0 79e: 80 e0 ldi r24, 0x00 ; 0 7a0: 0e 94 c3 04 call 0x986 ; 0x986 //fprintf(&lcd_stdout, "0 T:%.2f ", temp); break; 7a4: 81 c0 rjmp .+258 ; 0x8a8 case ADC_MEAS2: //heater_ch[1].tmeas_raw = adc_data; temp = (((float)adc_data * 2.56) / (opamp_ch[1].gain * 775.434)) + (opamp_ch[1].shift / 0.758); //temp = ((float)adc_data * 2.56) / 1023; LCD_SetPos(0, 1); 7a6: 61 e0 ldi r22, 0x01 ; 1 7a8: 80 e0 ldi r24, 0x00 ; 0 7aa: 0e 94 c3 04 call 0x986 ; 0x986 //fprintf(&lcd_stdout, "1 T:%.2f ", temp); break; 7ae: 7c c0 rjmp .+248 ; 0x8a8 case ADC_CUR1: heater_ch[0].current = adc_data * 2.56; LCD_SetPos(9, 0); 7b0: 60 e0 ldi r22, 0x00 ; 0 7b2: 89 e0 ldi r24, 0x09 ; 9 7b4: 0e 94 c3 04 call 0x986 ; 0x986 //fprintf(&lcd_stdout, "C:%.4d", heater_ch[0].current); break; 7b8: 77 c0 rjmp .+238 ; 0x8a8 case ADC_CUR2: heater_ch[1].current = adc_data * 2.56; LCD_SetPos(9, 1); 7ba: 61 e0 ldi r22, 0x01 ; 1 7bc: 89 e0 ldi r24, 0x09 ; 9 7be: 0e 94 c3 04 call 0x986 ; 0x986 7c2: 04 c0 rjmp .+8 ; 0x7cc //fprintf(&lcd_stdout, "C:%.4d", heater_ch[1].current); break; } if(++adc_ch == 0x04) 7c4: d3 94 inc r13 7c6: e4 e0 ldi r30, 0x04 ; 4 7c8: de 12 cpse r13, r30 7ca: 0f c0 rjmp .+30 ; 0x7ea adc_ch = 0; //PORTC &= ~(1 << GATE1); trig = 0; 7cc: c1 2c mov r12, r1 //fprintf(&lcd_stdout, "C:%.4d", heater_ch[1].current); break; } if(++adc_ch == 0x04) adc_ch = 0; 7ce: d1 2c mov r13, r1 7d0: 0d c0 rjmp .+26 ; 0x7ec } else { //PORTC |= (1 << GATE1); //_delay_us(50); ADMUX = (ADMUX & 0xF8) | adc_ch; 7d2: f2 01 movw r30, r4 7d4: 80 81 ld r24, Z 7d6: 88 7f andi r24, 0xF8 ; 248 7d8: 8d 29 or r24, r13 7da: 80 83 st Z, r24 ADCSRA |= (1 << ADSC); 7dc: f3 01 movw r30, r6 7de: 80 81 ld r24, Z 7e0: 80 64 ori r24, 0x40 ; 64 7e2: 80 83 st Z, r24 trig = 1; 7e4: cc 24 eor r12, r12 7e6: c3 94 inc r12 7e8: 01 c0 rjmp .+2 ; 0x7ec if(++adc_ch == 0x04) adc_ch = 0; //PORTC &= ~(1 << GATE1); trig = 0; 7ea: c1 2c mov r12, r1 fprintf(&lcd_stdout, "\xD9"); else fprintf(&lcd_stdout, " "); //transmit(&packet_ch[1]);*/ switch(btn_pressed) 7ec: 80 91 49 01 lds r24, 0x0149 7f0: 82 30 cpi r24, 0x02 ; 2 7f2: 21 f1 breq .+72 ; 0x83c 7f4: 18 f4 brcc .+6 ; 0x7fc 7f6: 81 30 cpi r24, 0x01 ; 1 7f8: 31 f0 breq .+12 ; 0x806 7fa: 5b cf rjmp .-330 ; 0x6b2 7fc: 84 30 cpi r24, 0x04 ; 4 7fe: 41 f1 breq .+80 ; 0x850 800: 88 30 cpi r24, 0x08 ; 8 802: e1 f1 breq .+120 ; 0x87c 804: 56 cf rjmp .-340 ; 0x6b2 { case 0x01: GATEPORT ^= (1 << GATE1); 806: 98 b1 in r25, 0x08 ; 8 808: 80 e4 ldi r24, 0x40 ; 64 80a: 89 27 eor r24, r25 80c: 88 b9 out 0x08, r24 ; 8 LEDPORT ^= (1 << LED1); 80e: 98 b1 in r25, 0x08 ; 8 810: 84 e0 ldi r24, 0x04 ; 4 812: 89 27 eor r24, r25 814: 88 b9 out 0x08, r24 ; 8 if(GATEPORT & (1 << GATE1)) 816: 46 9b sbis 0x08, 6 ; 8 818: 07 c0 rjmp .+14 ; 0x828 SetGateVoltage(0, 0); 81a: 40 e0 ldi r20, 0x00 ; 0 81c: 50 e0 ldi r21, 0x00 ; 0 81e: ba 01 movw r22, r20 820: 80 e0 ldi r24, 0x00 ; 0 822: 0e 94 ff 01 call 0x3fe ; 0x3fe 826: 07 c0 rjmp .+14 ; 0x836 else SetGateVoltage(0, opamp_ch[0].drive); 828: 4a 85 ldd r20, Y+10 ; 0x0a 82a: 5b 85 ldd r21, Y+11 ; 0x0b 82c: 6c 85 ldd r22, Y+12 ; 0x0c 82e: 7d 85 ldd r23, Y+13 ; 0x0d 830: 80 e0 ldi r24, 0x00 ; 0 832: 0e 94 ff 01 call 0x3fe ; 0x3fe btn_pressed = 0; 836: 10 92 49 01 sts 0x0149, r1 break; 83a: 3b cf rjmp .-394 ; 0x6b2 case 0x02: GATEPORT ^= (1 << GATE2); 83c: 88 b1 in r24, 0x08 ; 8 83e: 80 58 subi r24, 0x80 ; 128 840: 88 b9 out 0x08, r24 ; 8 LEDPORT ^= (1 << LED2); 842: 98 b1 in r25, 0x08 ; 8 844: 88 e0 ldi r24, 0x08 ; 8 846: 89 27 eor r24, r25 848: 88 b9 out 0x08, r24 ; 8 btn_pressed = 0; 84a: 10 92 49 01 sts 0x0149, r1 break; 84e: 31 cf rjmp .-414 ; 0x6b2 case 0x04: opamp_ch[0].drive -= 0.5; 850: 20 e0 ldi r18, 0x00 ; 0 852: 30 e0 ldi r19, 0x00 ; 0 854: 40 e0 ldi r20, 0x00 ; 0 856: 5f e3 ldi r21, 0x3F ; 63 858: 6a 85 ldd r22, Y+10 ; 0x0a 85a: 7b 85 ldd r23, Y+11 ; 0x0b 85c: 8c 85 ldd r24, Y+12 ; 0x0c 85e: 9d 85 ldd r25, Y+13 ; 0x0d 860: 0e 94 fd 04 call 0x9fa ; 0x9fa <__subsf3> 864: ab 01 movw r20, r22 866: bc 01 movw r22, r24 868: 4a 87 std Y+10, r20 ; 0x0a 86a: 5b 87 std Y+11, r21 ; 0x0b 86c: 6c 87 std Y+12, r22 ; 0x0c 86e: 7d 87 std Y+13, r23 ; 0x0d SetGateVoltage(0, opamp_ch[0].drive); 870: 80 e0 ldi r24, 0x00 ; 0 872: 0e 94 ff 01 call 0x3fe ; 0x3fe btn_pressed = 0; 876: 10 92 49 01 sts 0x0149, r1 break; 87a: 1b cf rjmp .-458 ; 0x6b2 case 0x08: opamp_ch[0].drive += 0.5; 87c: 20 e0 ldi r18, 0x00 ; 0 87e: 30 e0 ldi r19, 0x00 ; 0 880: 40 e0 ldi r20, 0x00 ; 0 882: 5f e3 ldi r21, 0x3F ; 63 884: 6a 85 ldd r22, Y+10 ; 0x0a 886: 7b 85 ldd r23, Y+11 ; 0x0b 888: 8c 85 ldd r24, Y+12 ; 0x0c 88a: 9d 85 ldd r25, Y+13 ; 0x0d 88c: 0e 94 fe 04 call 0x9fc ; 0x9fc <__addsf3> 890: ab 01 movw r20, r22 892: bc 01 movw r22, r24 894: 4a 87 std Y+10, r20 ; 0x0a 896: 5b 87 std Y+11, r21 ; 0x0b 898: 6c 87 std Y+12, r22 ; 0x0c 89a: 7d 87 std Y+13, r23 ; 0x0d SetGateVoltage(0, opamp_ch[0].drive); 89c: 80 e0 ldi r24, 0x00 ; 0 89e: 0e 94 ff 01 call 0x3fe ; 0x3fe btn_pressed = 0; 8a2: 10 92 49 01 sts 0x0149, r1 break; 8a6: 05 cf rjmp .-502 ; 0x6b2 LCD_SetPos(9, 1); //fprintf(&lcd_stdout, "C:%.4d", heater_ch[1].current); break; } if(++adc_ch == 0x04) 8a8: d3 94 inc r13 adc_ch = 0; //PORTC &= ~(1 << GATE1); trig = 0; 8aa: c1 2c mov r12, r1 8ac: 9f cf rjmp .-194 ; 0x7ec 000008ae : #include "lcd-twi.h" void I2C_SendByte(uint8_t byte) { TWCR |= (1 << TWINT) | (1 << TWSTA); 8ae: ec eb ldi r30, 0xBC ; 188 8b0: f0 e0 ldi r31, 0x00 ; 0 8b2: 90 81 ld r25, Z 8b4: 90 6a ori r25, 0xA0 ; 160 8b6: 90 83 st Z, r25 while(!(TWCR & (1 << TWINT))); 8b8: 90 81 ld r25, Z 8ba: 99 23 and r25, r25 8bc: ec f7 brge .-6 ; 0x8b8 TWDR = LCDI2CADDR; 8be: 9e e4 ldi r25, 0x4E ; 78 8c0: 90 93 bb 00 sts 0x00BB, r25 TWCR &= ~(1 << TWSTA); 8c4: ec eb ldi r30, 0xBC ; 188 8c6: f0 e0 ldi r31, 0x00 ; 0 8c8: 90 81 ld r25, Z 8ca: 9f 7d andi r25, 0xDF ; 223 8cc: 90 83 st Z, r25 TWCR |= (1 << TWINT); 8ce: 90 81 ld r25, Z 8d0: 90 68 ori r25, 0x80 ; 128 8d2: 90 83 st Z, r25 while(!(TWCR & (1 << TWINT))); 8d4: 90 81 ld r25, Z 8d6: 99 23 and r25, r25 8d8: ec f7 brge .-6 ; 0x8d4 TWDR = byte; 8da: 80 93 bb 00 sts 0x00BB, r24 TWCR |= (1 << TWINT); 8de: ec eb ldi r30, 0xBC ; 188 8e0: f0 e0 ldi r31, 0x00 ; 0 8e2: 80 81 ld r24, Z 8e4: 80 68 ori r24, 0x80 ; 128 8e6: 80 83 st Z, r24 while(!(TWCR & (1 << TWINT))); 8e8: 80 81 ld r24, Z 8ea: 88 23 and r24, r24 8ec: ec f7 brge .-6 ; 0x8e8 TWCR |= (1 << TWINT) | (1 << TWSTO); 8ee: ec eb ldi r30, 0xBC ; 188 8f0: f0 e0 ldi r31, 0x00 ; 0 8f2: 80 81 ld r24, Z 8f4: 80 69 ori r24, 0x90 ; 144 8f6: 80 83 st Z, r24 8f8: 08 95 ret 000008fa : } void LCD_SendData(uint8_t data) { 8fa: cf 93 push r28 8fc: df 93 push r29 8fe: c8 2f mov r28, r24 I2C_SendByte((data & 0xF0) | LCD_RS | LCD_E); 900: d8 2f mov r29, r24 902: d0 7f andi r29, 0xF0 ; 240 904: 8d 2f mov r24, r29 906: 85 60 ori r24, 0x05 ; 5 908: 0e 94 57 04 call 0x8ae ; 0x8ae I2C_SendByte((data & 0xF0) | LCD_RS); 90c: 8d 2f mov r24, r29 90e: 81 60 ori r24, 0x01 ; 1 910: 0e 94 57 04 call 0x8ae ; 0x8ae I2C_SendByte((data << 4) | LCD_RS | LCD_E); 914: 80 e1 ldi r24, 0x10 ; 16 916: c8 9f mul r28, r24 918: e0 01 movw r28, r0 91a: 11 24 eor r1, r1 91c: 8c 2f mov r24, r28 91e: 85 60 ori r24, 0x05 ; 5 920: 0e 94 57 04 call 0x8ae ; 0x8ae I2C_SendByte((data << 4) | LCD_RS); 924: 8c 2f mov r24, r28 926: 81 60 ori r24, 0x01 ; 1 928: 0e 94 57 04 call 0x8ae ; 0x8ae #else //round up by default __ticks_dc = (uint32_t)(ceil(fabs(__tmp))); #endif __builtin_avr_delay_cycles(__ticks_dc); 92c: 80 e1 ldi r24, 0x10 ; 16 92e: 8a 95 dec r24 930: f1 f7 brne .-4 ; 0x92e _delay_us(4); } 932: df 91 pop r29 934: cf 91 pop r28 936: 08 95 ret 00000938 : void LCD_SendCmd(uint8_t cmd) { 938: cf 93 push r28 93a: df 93 push r29 93c: c8 2f mov r28, r24 I2C_SendByte(((cmd & 0xF0) & ~LCD_RS) | LCD_E); 93e: d8 2f mov r29, r24 940: d0 7f andi r29, 0xF0 ; 240 942: 8d 2f mov r24, r29 944: 84 60 ori r24, 0x04 ; 4 946: 0e 94 57 04 call 0x8ae ; 0x8ae I2C_SendByte((cmd & 0xF0) & ~LCD_RS); 94a: 8d 2f mov r24, r29 94c: 0e 94 57 04 call 0x8ae ; 0x8ae I2C_SendByte(((cmd << 4) & ~LCD_RS) | LCD_E); 950: 20 e1 ldi r18, 0x10 ; 16 952: c2 9f mul r28, r18 954: c0 01 movw r24, r0 956: 11 24 eor r1, r1 958: 84 60 ori r24, 0x04 ; 4 95a: 0e 94 57 04 call 0x8ae ; 0x8ae I2C_SendByte((cmd << 4) & ~LCD_RS); 95e: 8c 2f mov r24, r28 960: 82 95 swap r24 962: 80 7f andi r24, 0xF0 ; 240 964: 0e 94 57 04 call 0x8ae ; 0x8ae if(cmd == LCD_CLR) 968: c1 30 cpi r28, 0x01 ; 1 96a: 39 f4 brne .+14 ; 0x97a #else //round up by default __ticks_dc = (uint32_t)(ceil(fabs(__tmp))); #endif __builtin_avr_delay_cycles(__ticks_dc); 96c: 8f e4 ldi r24, 0x4F ; 79 96e: 96 e4 ldi r25, 0x46 ; 70 970: 01 97 sbiw r24, 0x01 ; 1 972: f1 f7 brne .-4 ; 0x970 974: 00 c0 rjmp .+0 ; 0x976 976: 00 00 nop 978: 03 c0 rjmp .+6 ; 0x980 #else //round up by default __ticks_dc = (uint32_t)(ceil(fabs(__tmp))); #endif __builtin_avr_delay_cycles(__ticks_dc); 97a: 98 e2 ldi r25, 0x28 ; 40 97c: 9a 95 dec r25 97e: f1 f7 brne .-4 ; 0x97c } else { _delay_us(10); } } 980: df 91 pop r29 982: cf 91 pop r28 984: 08 95 ret 00000986 : void LCD_SetPos(uint8_t x, uint8_t y) { y = ((y & 0x01) * 0x40); 986: 61 70 andi r22, 0x01 ; 1 x &= 0x0F; 988: 8f 70 andi r24, 0x0F ; 15 LCD_SendCmd(LCD_DDRAM | (x + y)); 98a: 90 e4 ldi r25, 0x40 ; 64 98c: 69 9f mul r22, r25 98e: 80 0d add r24, r0 990: 11 24 eor r1, r1 992: 80 68 ori r24, 0x80 ; 128 994: 0e 94 9c 04 call 0x938 ; 0x938 998: 08 95 ret 0000099a : } void LCD_Init(void) { 99a: cf 93 push r28 I2C_SendByte(0x00); 99c: 80 e0 ldi r24, 0x00 ; 0 99e: 0e 94 57 04 call 0x8ae ; 0x8ae #else //round up by default __ticks_dc = (uint32_t)(ceil(fabs(__tmp))); #endif __builtin_avr_delay_cycles(__ticks_dc); 9a2: 2f eb ldi r18, 0xBF ; 191 9a4: 84 ed ldi r24, 0xD4 ; 212 9a6: 91 e0 ldi r25, 0x01 ; 1 9a8: 21 50 subi r18, 0x01 ; 1 9aa: 80 40 sbci r24, 0x00 ; 0 9ac: 90 40 sbci r25, 0x00 ; 0 9ae: e1 f7 brne .-8 ; 0x9a8 9b0: 00 c0 rjmp .+0 ; 0x9b2 9b2: 00 00 nop 9b4: c5 e0 ldi r28, 0x05 ; 5 _delay_ms(50); for(uint8_t i = 0; i < 5; i++) { I2C_SendByte(0x00 | LCD_E); 9b6: 84 e0 ldi r24, 0x04 ; 4 9b8: 0e 94 57 04 call 0x8ae ; 0x8ae I2C_SendByte(0x00 & ~LCD_E); 9bc: 80 e0 ldi r24, 0x00 ; 0 9be: 0e 94 57 04 call 0x8ae ; 0x8ae 9c2: c1 50 subi r28, 0x01 ; 1 { I2C_SendByte(0x00); _delay_ms(50); for(uint8_t i = 0; i < 5; i++) 9c4: c1 f7 brne .-16 ; 0x9b6 #else //round up by default __ticks_dc = (uint32_t)(ceil(fabs(__tmp))); #endif __builtin_avr_delay_cycles(__ticks_dc); 9c6: 28 ec ldi r18, 0xC8 ; 200 9c8: 2a 95 dec r18 9ca: f1 f7 brne .-4 ; 0x9c8 I2C_SendByte(0x00 | LCD_E); I2C_SendByte(0x00 & ~LCD_E); } _delay_us(50); I2C_SendByte(LCD_WIDTH | LCD_E); 9cc: 84 e2 ldi r24, 0x24 ; 36 9ce: 0e 94 57 04 call 0x8ae ; 0x8ae I2C_SendByte(LCD_WIDTH & ~LCD_E); 9d2: 80 e2 ldi r24, 0x20 ; 32 9d4: 0e 94 57 04 call 0x8ae ; 0x8ae LCD_SendCmd(LCD_WIDTH | LCD_WIDTH_N | LCD_WIDTH_FT1); 9d8: 8a e2 ldi r24, 0x2A ; 42 9da: 0e 94 9c 04 call 0x938 ; 0x938 LCD_SendCmd(LCD_ONOFF); 9de: 88 e0 ldi r24, 0x08 ; 8 9e0: 0e 94 9c 04 call 0x938 ; 0x938 LCD_SendCmd(LCD_CLR); 9e4: 81 e0 ldi r24, 0x01 ; 1 9e6: 0e 94 9c 04 call 0x938 ; 0x938 LCD_SendCmd(LCD_DIR | LCD_DIR_ID); 9ea: 86 e0 ldi r24, 0x06 ; 6 9ec: 0e 94 9c 04 call 0x938 ; 0x938 LCD_SendCmd(LCD_ONOFF | LCD_ONOFF_D); 9f0: 8c e0 ldi r24, 0x0C ; 12 9f2: 0e 94 9c 04 call 0x938 ; 0x938 } 9f6: cf 91 pop r28 9f8: 08 95 ret 000009fa <__subsf3>: 9fa: 50 58 subi r21, 0x80 ; 128 000009fc <__addsf3>: 9fc: bb 27 eor r27, r27 9fe: aa 27 eor r26, r26 a00: 0e d0 rcall .+28 ; 0xa1e <__addsf3x> a02: 48 c1 rjmp .+656 ; 0xc94 <__fp_round> a04: 39 d1 rcall .+626 ; 0xc78 <__fp_pscA> a06: 30 f0 brcs .+12 ; 0xa14 <__addsf3+0x18> a08: 3e d1 rcall .+636 ; 0xc86 <__fp_pscB> a0a: 20 f0 brcs .+8 ; 0xa14 <__addsf3+0x18> a0c: 31 f4 brne .+12 ; 0xa1a <__addsf3+0x1e> a0e: 9f 3f cpi r25, 0xFF ; 255 a10: 11 f4 brne .+4 ; 0xa16 <__addsf3+0x1a> a12: 1e f4 brtc .+6 ; 0xa1a <__addsf3+0x1e> a14: 2e c1 rjmp .+604 ; 0xc72 <__fp_nan> a16: 0e f4 brtc .+2 ; 0xa1a <__addsf3+0x1e> a18: e0 95 com r30 a1a: e7 fb bst r30, 7 a1c: 24 c1 rjmp .+584 ; 0xc66 <__fp_inf> 00000a1e <__addsf3x>: a1e: e9 2f mov r30, r25 a20: 4a d1 rcall .+660 ; 0xcb6 <__fp_split3> a22: 80 f3 brcs .-32 ; 0xa04 <__addsf3+0x8> a24: ba 17 cp r27, r26 a26: 62 07 cpc r22, r18 a28: 73 07 cpc r23, r19 a2a: 84 07 cpc r24, r20 a2c: 95 07 cpc r25, r21 a2e: 18 f0 brcs .+6 ; 0xa36 <__addsf3x+0x18> a30: 71 f4 brne .+28 ; 0xa4e <__addsf3x+0x30> a32: 9e f5 brtc .+102 ; 0xa9a <__addsf3x+0x7c> a34: 62 c1 rjmp .+708 ; 0xcfa <__fp_zero> a36: 0e f4 brtc .+2 ; 0xa3a <__addsf3x+0x1c> a38: e0 95 com r30 a3a: 0b 2e mov r0, r27 a3c: ba 2f mov r27, r26 a3e: a0 2d mov r26, r0 a40: 0b 01 movw r0, r22 a42: b9 01 movw r22, r18 a44: 90 01 movw r18, r0 a46: 0c 01 movw r0, r24 a48: ca 01 movw r24, r20 a4a: a0 01 movw r20, r0 a4c: 11 24 eor r1, r1 a4e: ff 27 eor r31, r31 a50: 59 1b sub r21, r25 a52: 99 f0 breq .+38 ; 0xa7a <__addsf3x+0x5c> a54: 59 3f cpi r21, 0xF9 ; 249 a56: 50 f4 brcc .+20 ; 0xa6c <__addsf3x+0x4e> a58: 50 3e cpi r21, 0xE0 ; 224 a5a: 68 f1 brcs .+90 ; 0xab6 <__addsf3x+0x98> a5c: 1a 16 cp r1, r26 a5e: f0 40 sbci r31, 0x00 ; 0 a60: a2 2f mov r26, r18 a62: 23 2f mov r18, r19 a64: 34 2f mov r19, r20 a66: 44 27 eor r20, r20 a68: 58 5f subi r21, 0xF8 ; 248 a6a: f3 cf rjmp .-26 ; 0xa52 <__addsf3x+0x34> a6c: 46 95 lsr r20 a6e: 37 95 ror r19 a70: 27 95 ror r18 a72: a7 95 ror r26 a74: f0 40 sbci r31, 0x00 ; 0 a76: 53 95 inc r21 a78: c9 f7 brne .-14 ; 0xa6c <__addsf3x+0x4e> a7a: 7e f4 brtc .+30 ; 0xa9a <__addsf3x+0x7c> a7c: 1f 16 cp r1, r31 a7e: ba 0b sbc r27, r26 a80: 62 0b sbc r22, r18 a82: 73 0b sbc r23, r19 a84: 84 0b sbc r24, r20 a86: ba f0 brmi .+46 ; 0xab6 <__addsf3x+0x98> a88: 91 50 subi r25, 0x01 ; 1 a8a: a1 f0 breq .+40 ; 0xab4 <__addsf3x+0x96> a8c: ff 0f add r31, r31 a8e: bb 1f adc r27, r27 a90: 66 1f adc r22, r22 a92: 77 1f adc r23, r23 a94: 88 1f adc r24, r24 a96: c2 f7 brpl .-16 ; 0xa88 <__addsf3x+0x6a> a98: 0e c0 rjmp .+28 ; 0xab6 <__addsf3x+0x98> a9a: ba 0f add r27, r26 a9c: 62 1f adc r22, r18 a9e: 73 1f adc r23, r19 aa0: 84 1f adc r24, r20 aa2: 48 f4 brcc .+18 ; 0xab6 <__addsf3x+0x98> aa4: 87 95 ror r24 aa6: 77 95 ror r23 aa8: 67 95 ror r22 aaa: b7 95 ror r27 aac: f7 95 ror r31 aae: 9e 3f cpi r25, 0xFE ; 254 ab0: 08 f0 brcs .+2 ; 0xab4 <__addsf3x+0x96> ab2: b3 cf rjmp .-154 ; 0xa1a <__addsf3+0x1e> ab4: 93 95 inc r25 ab6: 88 0f add r24, r24 ab8: 08 f0 brcs .+2 ; 0xabc <__addsf3x+0x9e> aba: 99 27 eor r25, r25 abc: ee 0f add r30, r30 abe: 97 95 ror r25 ac0: 87 95 ror r24 ac2: 08 95 ret 00000ac4 <__divsf3>: ac4: 0c d0 rcall .+24 ; 0xade <__divsf3x> ac6: e6 c0 rjmp .+460 ; 0xc94 <__fp_round> ac8: de d0 rcall .+444 ; 0xc86 <__fp_pscB> aca: 40 f0 brcs .+16 ; 0xadc <__divsf3+0x18> acc: d5 d0 rcall .+426 ; 0xc78 <__fp_pscA> ace: 30 f0 brcs .+12 ; 0xadc <__divsf3+0x18> ad0: 21 f4 brne .+8 ; 0xada <__divsf3+0x16> ad2: 5f 3f cpi r21, 0xFF ; 255 ad4: 19 f0 breq .+6 ; 0xadc <__divsf3+0x18> ad6: c7 c0 rjmp .+398 ; 0xc66 <__fp_inf> ad8: 51 11 cpse r21, r1 ada: 10 c1 rjmp .+544 ; 0xcfc <__fp_szero> adc: ca c0 rjmp .+404 ; 0xc72 <__fp_nan> 00000ade <__divsf3x>: ade: eb d0 rcall .+470 ; 0xcb6 <__fp_split3> ae0: 98 f3 brcs .-26 ; 0xac8 <__divsf3+0x4> 00000ae2 <__divsf3_pse>: ae2: 99 23 and r25, r25 ae4: c9 f3 breq .-14 ; 0xad8 <__divsf3+0x14> ae6: 55 23 and r21, r21 ae8: b1 f3 breq .-20 ; 0xad6 <__divsf3+0x12> aea: 95 1b sub r25, r21 aec: 55 0b sbc r21, r21 aee: bb 27 eor r27, r27 af0: aa 27 eor r26, r26 af2: 62 17 cp r22, r18 af4: 73 07 cpc r23, r19 af6: 84 07 cpc r24, r20 af8: 38 f0 brcs .+14 ; 0xb08 <__divsf3_pse+0x26> afa: 9f 5f subi r25, 0xFF ; 255 afc: 5f 4f sbci r21, 0xFF ; 255 afe: 22 0f add r18, r18 b00: 33 1f adc r19, r19 b02: 44 1f adc r20, r20 b04: aa 1f adc r26, r26 b06: a9 f3 breq .-22 ; 0xaf2 <__divsf3_pse+0x10> b08: 33 d0 rcall .+102 ; 0xb70 <__divsf3_pse+0x8e> b0a: 0e 2e mov r0, r30 b0c: 3a f0 brmi .+14 ; 0xb1c <__divsf3_pse+0x3a> b0e: e0 e8 ldi r30, 0x80 ; 128 b10: 30 d0 rcall .+96 ; 0xb72 <__divsf3_pse+0x90> b12: 91 50 subi r25, 0x01 ; 1 b14: 50 40 sbci r21, 0x00 ; 0 b16: e6 95 lsr r30 b18: 00 1c adc r0, r0 b1a: ca f7 brpl .-14 ; 0xb0e <__divsf3_pse+0x2c> b1c: 29 d0 rcall .+82 ; 0xb70 <__divsf3_pse+0x8e> b1e: fe 2f mov r31, r30 b20: 27 d0 rcall .+78 ; 0xb70 <__divsf3_pse+0x8e> b22: 66 0f add r22, r22 b24: 77 1f adc r23, r23 b26: 88 1f adc r24, r24 b28: bb 1f adc r27, r27 b2a: 26 17 cp r18, r22 b2c: 37 07 cpc r19, r23 b2e: 48 07 cpc r20, r24 b30: ab 07 cpc r26, r27 b32: b0 e8 ldi r27, 0x80 ; 128 b34: 09 f0 breq .+2 ; 0xb38 <__divsf3_pse+0x56> b36: bb 0b sbc r27, r27 b38: 80 2d mov r24, r0 b3a: bf 01 movw r22, r30 b3c: ff 27 eor r31, r31 b3e: 93 58 subi r25, 0x83 ; 131 b40: 5f 4f sbci r21, 0xFF ; 255 b42: 2a f0 brmi .+10 ; 0xb4e <__divsf3_pse+0x6c> b44: 9e 3f cpi r25, 0xFE ; 254 b46: 51 05 cpc r21, r1 b48: 68 f0 brcs .+26 ; 0xb64 <__divsf3_pse+0x82> b4a: 8d c0 rjmp .+282 ; 0xc66 <__fp_inf> b4c: d7 c0 rjmp .+430 ; 0xcfc <__fp_szero> b4e: 5f 3f cpi r21, 0xFF ; 255 b50: ec f3 brlt .-6 ; 0xb4c <__divsf3_pse+0x6a> b52: 98 3e cpi r25, 0xE8 ; 232 b54: dc f3 brlt .-10 ; 0xb4c <__divsf3_pse+0x6a> b56: 86 95 lsr r24 b58: 77 95 ror r23 b5a: 67 95 ror r22 b5c: b7 95 ror r27 b5e: f7 95 ror r31 b60: 9f 5f subi r25, 0xFF ; 255 b62: c9 f7 brne .-14 ; 0xb56 <__divsf3_pse+0x74> b64: 88 0f add r24, r24 b66: 91 1d adc r25, r1 b68: 96 95 lsr r25 b6a: 87 95 ror r24 b6c: 97 f9 bld r25, 7 b6e: 08 95 ret b70: e1 e0 ldi r30, 0x01 ; 1 b72: 66 0f add r22, r22 b74: 77 1f adc r23, r23 b76: 88 1f adc r24, r24 b78: bb 1f adc r27, r27 b7a: 62 17 cp r22, r18 b7c: 73 07 cpc r23, r19 b7e: 84 07 cpc r24, r20 b80: ba 07 cpc r27, r26 b82: 20 f0 brcs .+8 ; 0xb8c <__divsf3_pse+0xaa> b84: 62 1b sub r22, r18 b86: 73 0b sbc r23, r19 b88: 84 0b sbc r24, r20 b8a: ba 0b sbc r27, r26 b8c: ee 1f adc r30, r30 b8e: 88 f7 brcc .-30 ; 0xb72 <__divsf3_pse+0x90> b90: e0 95 com r30 b92: 08 95 ret 00000b94 <__fixunssfsi>: b94: 98 d0 rcall .+304 ; 0xcc6 <__fp_splitA> b96: 88 f0 brcs .+34 ; 0xbba <__fixunssfsi+0x26> b98: 9f 57 subi r25, 0x7F ; 127 b9a: 90 f0 brcs .+36 ; 0xbc0 <__fixunssfsi+0x2c> b9c: b9 2f mov r27, r25 b9e: 99 27 eor r25, r25 ba0: b7 51 subi r27, 0x17 ; 23 ba2: a0 f0 brcs .+40 ; 0xbcc <__fixunssfsi+0x38> ba4: d1 f0 breq .+52 ; 0xbda <__fixunssfsi+0x46> ba6: 66 0f add r22, r22 ba8: 77 1f adc r23, r23 baa: 88 1f adc r24, r24 bac: 99 1f adc r25, r25 bae: 1a f0 brmi .+6 ; 0xbb6 <__fixunssfsi+0x22> bb0: ba 95 dec r27 bb2: c9 f7 brne .-14 ; 0xba6 <__fixunssfsi+0x12> bb4: 12 c0 rjmp .+36 ; 0xbda <__fixunssfsi+0x46> bb6: b1 30 cpi r27, 0x01 ; 1 bb8: 81 f0 breq .+32 ; 0xbda <__fixunssfsi+0x46> bba: 9f d0 rcall .+318 ; 0xcfa <__fp_zero> bbc: b1 e0 ldi r27, 0x01 ; 1 bbe: 08 95 ret bc0: 9c c0 rjmp .+312 ; 0xcfa <__fp_zero> bc2: 67 2f mov r22, r23 bc4: 78 2f mov r23, r24 bc6: 88 27 eor r24, r24 bc8: b8 5f subi r27, 0xF8 ; 248 bca: 39 f0 breq .+14 ; 0xbda <__fixunssfsi+0x46> bcc: b9 3f cpi r27, 0xF9 ; 249 bce: cc f3 brlt .-14 ; 0xbc2 <__fixunssfsi+0x2e> bd0: 86 95 lsr r24 bd2: 77 95 ror r23 bd4: 67 95 ror r22 bd6: b3 95 inc r27 bd8: d9 f7 brne .-10 ; 0xbd0 <__fixunssfsi+0x3c> bda: 3e f4 brtc .+14 ; 0xbea <__fixunssfsi+0x56> bdc: 90 95 com r25 bde: 80 95 com r24 be0: 70 95 com r23 be2: 61 95 neg r22 be4: 7f 4f sbci r23, 0xFF ; 255 be6: 8f 4f sbci r24, 0xFF ; 255 be8: 9f 4f sbci r25, 0xFF ; 255 bea: 08 95 ret 00000bec <__floatunsisf>: bec: e8 94 clt bee: 09 c0 rjmp .+18 ; 0xc02 <__floatsisf+0x12> 00000bf0 <__floatsisf>: bf0: 97 fb bst r25, 7 bf2: 3e f4 brtc .+14 ; 0xc02 <__floatsisf+0x12> bf4: 90 95 com r25 bf6: 80 95 com r24 bf8: 70 95 com r23 bfa: 61 95 neg r22 bfc: 7f 4f sbci r23, 0xFF ; 255 bfe: 8f 4f sbci r24, 0xFF ; 255 c00: 9f 4f sbci r25, 0xFF ; 255 c02: 99 23 and r25, r25 c04: a9 f0 breq .+42 ; 0xc30 <__floatsisf+0x40> c06: f9 2f mov r31, r25 c08: 96 e9 ldi r25, 0x96 ; 150 c0a: bb 27 eor r27, r27 c0c: 93 95 inc r25 c0e: f6 95 lsr r31 c10: 87 95 ror r24 c12: 77 95 ror r23 c14: 67 95 ror r22 c16: b7 95 ror r27 c18: f1 11 cpse r31, r1 c1a: f8 cf rjmp .-16 ; 0xc0c <__floatsisf+0x1c> c1c: fa f4 brpl .+62 ; 0xc5c <__floatsisf+0x6c> c1e: bb 0f add r27, r27 c20: 11 f4 brne .+4 ; 0xc26 <__floatsisf+0x36> c22: 60 ff sbrs r22, 0 c24: 1b c0 rjmp .+54 ; 0xc5c <__floatsisf+0x6c> c26: 6f 5f subi r22, 0xFF ; 255 c28: 7f 4f sbci r23, 0xFF ; 255 c2a: 8f 4f sbci r24, 0xFF ; 255 c2c: 9f 4f sbci r25, 0xFF ; 255 c2e: 16 c0 rjmp .+44 ; 0xc5c <__floatsisf+0x6c> c30: 88 23 and r24, r24 c32: 11 f0 breq .+4 ; 0xc38 <__floatsisf+0x48> c34: 96 e9 ldi r25, 0x96 ; 150 c36: 11 c0 rjmp .+34 ; 0xc5a <__floatsisf+0x6a> c38: 77 23 and r23, r23 c3a: 21 f0 breq .+8 ; 0xc44 <__floatsisf+0x54> c3c: 9e e8 ldi r25, 0x8E ; 142 c3e: 87 2f mov r24, r23 c40: 76 2f mov r23, r22 c42: 05 c0 rjmp .+10 ; 0xc4e <__floatsisf+0x5e> c44: 66 23 and r22, r22 c46: 71 f0 breq .+28 ; 0xc64 <__floatsisf+0x74> c48: 96 e8 ldi r25, 0x86 ; 134 c4a: 86 2f mov r24, r22 c4c: 70 e0 ldi r23, 0x00 ; 0 c4e: 60 e0 ldi r22, 0x00 ; 0 c50: 2a f0 brmi .+10 ; 0xc5c <__floatsisf+0x6c> c52: 9a 95 dec r25 c54: 66 0f add r22, r22 c56: 77 1f adc r23, r23 c58: 88 1f adc r24, r24 c5a: da f7 brpl .-10 ; 0xc52 <__floatsisf+0x62> c5c: 88 0f add r24, r24 c5e: 96 95 lsr r25 c60: 87 95 ror r24 c62: 97 f9 bld r25, 7 c64: 08 95 ret 00000c66 <__fp_inf>: c66: 97 f9 bld r25, 7 c68: 9f 67 ori r25, 0x7F ; 127 c6a: 80 e8 ldi r24, 0x80 ; 128 c6c: 70 e0 ldi r23, 0x00 ; 0 c6e: 60 e0 ldi r22, 0x00 ; 0 c70: 08 95 ret 00000c72 <__fp_nan>: c72: 9f ef ldi r25, 0xFF ; 255 c74: 80 ec ldi r24, 0xC0 ; 192 c76: 08 95 ret 00000c78 <__fp_pscA>: c78: 00 24 eor r0, r0 c7a: 0a 94 dec r0 c7c: 16 16 cp r1, r22 c7e: 17 06 cpc r1, r23 c80: 18 06 cpc r1, r24 c82: 09 06 cpc r0, r25 c84: 08 95 ret 00000c86 <__fp_pscB>: c86: 00 24 eor r0, r0 c88: 0a 94 dec r0 c8a: 12 16 cp r1, r18 c8c: 13 06 cpc r1, r19 c8e: 14 06 cpc r1, r20 c90: 05 06 cpc r0, r21 c92: 08 95 ret 00000c94 <__fp_round>: c94: 09 2e mov r0, r25 c96: 03 94 inc r0 c98: 00 0c add r0, r0 c9a: 11 f4 brne .+4 ; 0xca0 <__fp_round+0xc> c9c: 88 23 and r24, r24 c9e: 52 f0 brmi .+20 ; 0xcb4 <__fp_round+0x20> ca0: bb 0f add r27, r27 ca2: 40 f4 brcc .+16 ; 0xcb4 <__fp_round+0x20> ca4: bf 2b or r27, r31 ca6: 11 f4 brne .+4 ; 0xcac <__fp_round+0x18> ca8: 60 ff sbrs r22, 0 caa: 04 c0 rjmp .+8 ; 0xcb4 <__fp_round+0x20> cac: 6f 5f subi r22, 0xFF ; 255 cae: 7f 4f sbci r23, 0xFF ; 255 cb0: 8f 4f sbci r24, 0xFF ; 255 cb2: 9f 4f sbci r25, 0xFF ; 255 cb4: 08 95 ret 00000cb6 <__fp_split3>: cb6: 57 fd sbrc r21, 7 cb8: 90 58 subi r25, 0x80 ; 128 cba: 44 0f add r20, r20 cbc: 55 1f adc r21, r21 cbe: 59 f0 breq .+22 ; 0xcd6 <__fp_splitA+0x10> cc0: 5f 3f cpi r21, 0xFF ; 255 cc2: 71 f0 breq .+28 ; 0xce0 <__fp_splitA+0x1a> cc4: 47 95 ror r20 00000cc6 <__fp_splitA>: cc6: 88 0f add r24, r24 cc8: 97 fb bst r25, 7 cca: 99 1f adc r25, r25 ccc: 61 f0 breq .+24 ; 0xce6 <__fp_splitA+0x20> cce: 9f 3f cpi r25, 0xFF ; 255 cd0: 79 f0 breq .+30 ; 0xcf0 <__fp_splitA+0x2a> cd2: 87 95 ror r24 cd4: 08 95 ret cd6: 12 16 cp r1, r18 cd8: 13 06 cpc r1, r19 cda: 14 06 cpc r1, r20 cdc: 55 1f adc r21, r21 cde: f2 cf rjmp .-28 ; 0xcc4 <__fp_split3+0xe> ce0: 46 95 lsr r20 ce2: f1 df rcall .-30 ; 0xcc6 <__fp_splitA> ce4: 08 c0 rjmp .+16 ; 0xcf6 <__fp_splitA+0x30> ce6: 16 16 cp r1, r22 ce8: 17 06 cpc r1, r23 cea: 18 06 cpc r1, r24 cec: 99 1f adc r25, r25 cee: f1 cf rjmp .-30 ; 0xcd2 <__fp_splitA+0xc> cf0: 86 95 lsr r24 cf2: 71 05 cpc r23, r1 cf4: 61 05 cpc r22, r1 cf6: 08 94 sec cf8: 08 95 ret 00000cfa <__fp_zero>: cfa: e8 94 clt 00000cfc <__fp_szero>: cfc: bb 27 eor r27, r27 cfe: 66 27 eor r22, r22 d00: 77 27 eor r23, r23 d02: cb 01 movw r24, r22 d04: 97 f9 bld r25, 7 d06: 08 95 ret 00000d08 <__mulsf3>: d08: 0b d0 rcall .+22 ; 0xd20 <__mulsf3x> d0a: c4 cf rjmp .-120 ; 0xc94 <__fp_round> d0c: b5 df rcall .-150 ; 0xc78 <__fp_pscA> d0e: 28 f0 brcs .+10 ; 0xd1a <__mulsf3+0x12> d10: ba df rcall .-140 ; 0xc86 <__fp_pscB> d12: 18 f0 brcs .+6 ; 0xd1a <__mulsf3+0x12> d14: 95 23 and r25, r21 d16: 09 f0 breq .+2 ; 0xd1a <__mulsf3+0x12> d18: a6 cf rjmp .-180 ; 0xc66 <__fp_inf> d1a: ab cf rjmp .-170 ; 0xc72 <__fp_nan> d1c: 11 24 eor r1, r1 d1e: ee cf rjmp .-36 ; 0xcfc <__fp_szero> 00000d20 <__mulsf3x>: d20: ca df rcall .-108 ; 0xcb6 <__fp_split3> d22: a0 f3 brcs .-24 ; 0xd0c <__mulsf3+0x4> 00000d24 <__mulsf3_pse>: d24: 95 9f mul r25, r21 d26: d1 f3 breq .-12 ; 0xd1c <__mulsf3+0x14> d28: 95 0f add r25, r21 d2a: 50 e0 ldi r21, 0x00 ; 0 d2c: 55 1f adc r21, r21 d2e: 62 9f mul r22, r18 d30: f0 01 movw r30, r0 d32: 72 9f mul r23, r18 d34: bb 27 eor r27, r27 d36: f0 0d add r31, r0 d38: b1 1d adc r27, r1 d3a: 63 9f mul r22, r19 d3c: aa 27 eor r26, r26 d3e: f0 0d add r31, r0 d40: b1 1d adc r27, r1 d42: aa 1f adc r26, r26 d44: 64 9f mul r22, r20 d46: 66 27 eor r22, r22 d48: b0 0d add r27, r0 d4a: a1 1d adc r26, r1 d4c: 66 1f adc r22, r22 d4e: 82 9f mul r24, r18 d50: 22 27 eor r18, r18 d52: b0 0d add r27, r0 d54: a1 1d adc r26, r1 d56: 62 1f adc r22, r18 d58: 73 9f mul r23, r19 d5a: b0 0d add r27, r0 d5c: a1 1d adc r26, r1 d5e: 62 1f adc r22, r18 d60: 83 9f mul r24, r19 d62: a0 0d add r26, r0 d64: 61 1d adc r22, r1 d66: 22 1f adc r18, r18 d68: 74 9f mul r23, r20 d6a: 33 27 eor r19, r19 d6c: a0 0d add r26, r0 d6e: 61 1d adc r22, r1 d70: 23 1f adc r18, r19 d72: 84 9f mul r24, r20 d74: 60 0d add r22, r0 d76: 21 1d adc r18, r1 d78: 82 2f mov r24, r18 d7a: 76 2f mov r23, r22 d7c: 6a 2f mov r22, r26 d7e: 11 24 eor r1, r1 d80: 9f 57 subi r25, 0x7F ; 127 d82: 50 40 sbci r21, 0x00 ; 0 d84: 8a f0 brmi .+34 ; 0xda8 <__mulsf3_pse+0x84> d86: e1 f0 breq .+56 ; 0xdc0 <__mulsf3_pse+0x9c> d88: 88 23 and r24, r24 d8a: 4a f0 brmi .+18 ; 0xd9e <__mulsf3_pse+0x7a> d8c: ee 0f add r30, r30 d8e: ff 1f adc r31, r31 d90: bb 1f adc r27, r27 d92: 66 1f adc r22, r22 d94: 77 1f adc r23, r23 d96: 88 1f adc r24, r24 d98: 91 50 subi r25, 0x01 ; 1 d9a: 50 40 sbci r21, 0x00 ; 0 d9c: a9 f7 brne .-22 ; 0xd88 <__mulsf3_pse+0x64> d9e: 9e 3f cpi r25, 0xFE ; 254 da0: 51 05 cpc r21, r1 da2: 70 f0 brcs .+28 ; 0xdc0 <__mulsf3_pse+0x9c> da4: 60 cf rjmp .-320 ; 0xc66 <__fp_inf> da6: aa cf rjmp .-172 ; 0xcfc <__fp_szero> da8: 5f 3f cpi r21, 0xFF ; 255 daa: ec f3 brlt .-6 ; 0xda6 <__mulsf3_pse+0x82> dac: 98 3e cpi r25, 0xE8 ; 232 dae: dc f3 brlt .-10 ; 0xda6 <__mulsf3_pse+0x82> db0: 86 95 lsr r24 db2: 77 95 ror r23 db4: 67 95 ror r22 db6: b7 95 ror r27 db8: f7 95 ror r31 dba: e7 95 ror r30 dbc: 9f 5f subi r25, 0xFF ; 255 dbe: c1 f7 brne .-16 ; 0xdb0 <__mulsf3_pse+0x8c> dc0: fe 2b or r31, r30 dc2: 88 0f add r24, r24 dc4: 91 1d adc r25, r1 dc6: 96 95 lsr r25 dc8: 87 95 ror r24 dca: 97 f9 bld r25, 7 dcc: 08 95 ret 00000dce : dce: a3 e1 ldi r26, 0x13 ; 19 dd0: b0 e0 ldi r27, 0x00 ; 0 dd2: ed ee ldi r30, 0xED ; 237 dd4: f6 e0 ldi r31, 0x06 ; 6 dd6: 0c 94 62 0a jmp 0x14c4 ; 0x14c4 <__prologue_saves__> dda: 7c 01 movw r14, r24 ddc: 1b 01 movw r2, r22 dde: 6a 01 movw r12, r20 de0: fc 01 movw r30, r24 de2: 17 82 std Z+7, r1 ; 0x07 de4: 16 82 std Z+6, r1 ; 0x06 de6: 83 81 ldd r24, Z+3 ; 0x03 de8: 81 ff sbrs r24, 1 dea: 66 c3 rjmp .+1740 ; 0x14b8 <__stack+0x3b9> dec: be 01 movw r22, r28 dee: 6f 5f subi r22, 0xFF ; 255 df0: 7f 4f sbci r23, 0xFF ; 255 df2: 4b 01 movw r8, r22 df4: f7 01 movw r30, r14 df6: 93 81 ldd r25, Z+3 ; 0x03 df8: f1 01 movw r30, r2 dfa: 93 fd sbrc r25, 3 dfc: 85 91 lpm r24, Z+ dfe: 93 ff sbrs r25, 3 e00: 81 91 ld r24, Z+ e02: 1f 01 movw r2, r30 e04: 88 23 and r24, r24 e06: 09 f4 brne .+2 ; 0xe0a e08: 53 c3 rjmp .+1702 ; 0x14b0 <__stack+0x3b1> e0a: 85 32 cpi r24, 0x25 ; 37 e0c: 39 f4 brne .+14 ; 0xe1c e0e: 93 fd sbrc r25, 3 e10: 85 91 lpm r24, Z+ e12: 93 ff sbrs r25, 3 e14: 81 91 ld r24, Z+ e16: 1f 01 movw r2, r30 e18: 85 32 cpi r24, 0x25 ; 37 e1a: 39 f4 brne .+14 ; 0xe2a e1c: b7 01 movw r22, r14 e1e: 90 e0 ldi r25, 0x00 ; 0 e20: 0e 94 87 0b call 0x170e ; 0x170e e24: 56 01 movw r10, r12 e26: 65 01 movw r12, r10 e28: e5 cf rjmp .-54 ; 0xdf4 e2a: 10 e0 ldi r17, 0x00 ; 0 e2c: 51 2c mov r5, r1 e2e: 20 e0 ldi r18, 0x00 ; 0 e30: 20 32 cpi r18, 0x20 ; 32 e32: a0 f4 brcc .+40 ; 0xe5c e34: 8b 32 cpi r24, 0x2B ; 43 e36: 69 f0 breq .+26 ; 0xe52 e38: 30 f4 brcc .+12 ; 0xe46 e3a: 80 32 cpi r24, 0x20 ; 32 e3c: 59 f0 breq .+22 ; 0xe54 e3e: 83 32 cpi r24, 0x23 ; 35 e40: 69 f4 brne .+26 ; 0xe5c e42: 20 61 ori r18, 0x10 ; 16 e44: 2c c0 rjmp .+88 ; 0xe9e e46: 8d 32 cpi r24, 0x2D ; 45 e48: 39 f0 breq .+14 ; 0xe58 e4a: 80 33 cpi r24, 0x30 ; 48 e4c: 39 f4 brne .+14 ; 0xe5c e4e: 21 60 ori r18, 0x01 ; 1 e50: 26 c0 rjmp .+76 ; 0xe9e e52: 22 60 ori r18, 0x02 ; 2 e54: 24 60 ori r18, 0x04 ; 4 e56: 23 c0 rjmp .+70 ; 0xe9e e58: 28 60 ori r18, 0x08 ; 8 e5a: 21 c0 rjmp .+66 ; 0xe9e e5c: 27 fd sbrc r18, 7 e5e: 27 c0 rjmp .+78 ; 0xeae e60: 30 ed ldi r19, 0xD0 ; 208 e62: 38 0f add r19, r24 e64: 3a 30 cpi r19, 0x0A ; 10 e66: 78 f4 brcc .+30 ; 0xe86 e68: 26 ff sbrs r18, 6 e6a: 06 c0 rjmp .+12 ; 0xe78 e6c: fa e0 ldi r31, 0x0A ; 10 e6e: 1f 9f mul r17, r31 e70: 30 0d add r19, r0 e72: 11 24 eor r1, r1 e74: 13 2f mov r17, r19 e76: 13 c0 rjmp .+38 ; 0xe9e e78: 6a e0 ldi r22, 0x0A ; 10 e7a: 56 9e mul r5, r22 e7c: 30 0d add r19, r0 e7e: 11 24 eor r1, r1 e80: 53 2e mov r5, r19 e82: 20 62 ori r18, 0x20 ; 32 e84: 0c c0 rjmp .+24 ; 0xe9e e86: 8e 32 cpi r24, 0x2E ; 46 e88: 21 f4 brne .+8 ; 0xe92 e8a: 26 fd sbrc r18, 6 e8c: 11 c3 rjmp .+1570 ; 0x14b0 <__stack+0x3b1> e8e: 20 64 ori r18, 0x40 ; 64 e90: 06 c0 rjmp .+12 ; 0xe9e e92: 8c 36 cpi r24, 0x6C ; 108 e94: 11 f4 brne .+4 ; 0xe9a e96: 20 68 ori r18, 0x80 ; 128 e98: 02 c0 rjmp .+4 ; 0xe9e e9a: 88 36 cpi r24, 0x68 ; 104 e9c: 41 f4 brne .+16 ; 0xeae e9e: f1 01 movw r30, r2 ea0: 93 fd sbrc r25, 3 ea2: 85 91 lpm r24, Z+ ea4: 93 ff sbrs r25, 3 ea6: 81 91 ld r24, Z+ ea8: 1f 01 movw r2, r30 eaa: 81 11 cpse r24, r1 eac: c1 cf rjmp .-126 ; 0xe30 eae: 9b eb ldi r25, 0xBB ; 187 eb0: 98 0f add r25, r24 eb2: 93 30 cpi r25, 0x03 ; 3 eb4: 18 f4 brcc .+6 ; 0xebc eb6: 20 61 ori r18, 0x10 ; 16 eb8: 80 5e subi r24, 0xE0 ; 224 eba: 06 c0 rjmp .+12 ; 0xec8 ebc: 9b e9 ldi r25, 0x9B ; 155 ebe: 98 0f add r25, r24 ec0: 93 30 cpi r25, 0x03 ; 3 ec2: 08 f0 brcs .+2 ; 0xec6 ec4: aa c1 rjmp .+852 ; 0x121a <__stack+0x11b> ec6: 2f 7e andi r18, 0xEF ; 239 ec8: 26 ff sbrs r18, 6 eca: 16 e0 ldi r17, 0x06 ; 6 ecc: 2f 73 andi r18, 0x3F ; 63 ece: 72 2e mov r7, r18 ed0: 85 36 cpi r24, 0x65 ; 101 ed2: 21 f4 brne .+8 ; 0xedc ed4: f2 2f mov r31, r18 ed6: f0 64 ori r31, 0x40 ; 64 ed8: 7f 2e mov r7, r31 eda: 08 c0 rjmp .+16 ; 0xeec edc: 86 36 cpi r24, 0x66 ; 102 ede: 21 f4 brne .+8 ; 0xee8 ee0: 62 2f mov r22, r18 ee2: 60 68 ori r22, 0x80 ; 128 ee4: 76 2e mov r7, r22 ee6: 02 c0 rjmp .+4 ; 0xeec ee8: 11 11 cpse r17, r1 eea: 11 50 subi r17, 0x01 ; 1 eec: 77 fe sbrs r7, 7 eee: 07 c0 rjmp .+14 ; 0xefe ef0: 1c 33 cpi r17, 0x3C ; 60 ef2: 48 f4 brcc .+18 ; 0xf06 ef4: 44 24 eor r4, r4 ef6: 43 94 inc r4 ef8: 41 0e add r4, r17 efa: 27 e0 ldi r18, 0x07 ; 7 efc: 0b c0 rjmp .+22 ; 0xf14 efe: 18 30 cpi r17, 0x08 ; 8 f00: 30 f4 brcc .+12 ; 0xf0e f02: 21 2f mov r18, r17 f04: 06 c0 rjmp .+12 ; 0xf12 f06: 27 e0 ldi r18, 0x07 ; 7 f08: 4c e3 ldi r20, 0x3C ; 60 f0a: 44 2e mov r4, r20 f0c: 03 c0 rjmp .+6 ; 0xf14 f0e: 27 e0 ldi r18, 0x07 ; 7 f10: 17 e0 ldi r17, 0x07 ; 7 f12: 41 2c mov r4, r1 f14: 56 01 movw r10, r12 f16: 74 e0 ldi r23, 0x04 ; 4 f18: a7 0e add r10, r23 f1a: b1 1c adc r11, r1 f1c: f6 01 movw r30, r12 f1e: 60 81 ld r22, Z f20: 71 81 ldd r23, Z+1 ; 0x01 f22: 82 81 ldd r24, Z+2 ; 0x02 f24: 93 81 ldd r25, Z+3 ; 0x03 f26: 04 2d mov r16, r4 f28: a4 01 movw r20, r8 f2a: 0e 94 99 0a call 0x1532 ; 0x1532 <__ftoa_engine> f2e: 6c 01 movw r12, r24 f30: 09 81 ldd r16, Y+1 ; 0x01 f32: 00 ff sbrs r16, 0 f34: 02 c0 rjmp .+4 ; 0xf3a f36: 03 ff sbrs r16, 3 f38: 06 c0 rjmp .+12 ; 0xf46 f3a: 71 fc sbrc r7, 1 f3c: 07 c0 rjmp .+14 ; 0xf4c f3e: 72 fc sbrc r7, 2 f40: 08 c0 rjmp .+16 ; 0xf52 f42: 61 2c mov r6, r1 f44: 08 c0 rjmp .+16 ; 0xf56 f46: 3d e2 ldi r19, 0x2D ; 45 f48: 63 2e mov r6, r19 f4a: 05 c0 rjmp .+10 ; 0xf56 f4c: 2b e2 ldi r18, 0x2B ; 43 f4e: 62 2e mov r6, r18 f50: 02 c0 rjmp .+4 ; 0xf56 f52: 90 e2 ldi r25, 0x20 ; 32 f54: 69 2e mov r6, r25 f56: 80 2f mov r24, r16 f58: 8c 70 andi r24, 0x0C ; 12 f5a: 99 f1 breq .+102 ; 0xfc2 f5c: 66 20 and r6, r6 f5e: 11 f0 breq .+4 ; 0xf64 f60: 84 e0 ldi r24, 0x04 ; 4 f62: 01 c0 rjmp .+2 ; 0xf66 f64: 83 e0 ldi r24, 0x03 ; 3 f66: 85 15 cp r24, r5 f68: 10 f0 brcs .+4 ; 0xf6e f6a: 51 2c mov r5, r1 f6c: 0b c0 rjmp .+22 ; 0xf84 f6e: 58 1a sub r5, r24 f70: 73 fc sbrc r7, 3 f72: 08 c0 rjmp .+16 ; 0xf84 f74: b7 01 movw r22, r14 f76: 80 e2 ldi r24, 0x20 ; 32 f78: 90 e0 ldi r25, 0x00 ; 0 f7a: 0e 94 87 0b call 0x170e ; 0x170e f7e: 5a 94 dec r5 f80: c9 f7 brne .-14 ; 0xf74 f82: f3 cf rjmp .-26 ; 0xf6a f84: 66 20 and r6, r6 f86: 29 f0 breq .+10 ; 0xf92 f88: b7 01 movw r22, r14 f8a: 86 2d mov r24, r6 f8c: 90 e0 ldi r25, 0x00 ; 0 f8e: 0e 94 87 0b call 0x170e ; 0x170e f92: 03 fd sbrc r16, 3 f94: 03 c0 rjmp .+6 ; 0xf9c f96: 00 e8 ldi r16, 0x80 ; 128 f98: 10 e0 ldi r17, 0x00 ; 0 f9a: 02 c0 rjmp .+4 ; 0xfa0 f9c: 0c e7 ldi r16, 0x7C ; 124 f9e: 10 e0 ldi r17, 0x00 ; 0 fa0: f7 2d mov r31, r7 fa2: f0 71 andi r31, 0x10 ; 16 fa4: 7f 2e mov r7, r31 fa6: f8 01 movw r30, r16 fa8: 84 91 lpm r24, Z faa: 88 23 and r24, r24 fac: 09 f4 brne .+2 ; 0xfb0 fae: 76 c2 rjmp .+1260 ; 0x149c <__stack+0x39d> fb0: 71 10 cpse r7, r1 fb2: 80 52 subi r24, 0x20 ; 32 fb4: b7 01 movw r22, r14 fb6: 90 e0 ldi r25, 0x00 ; 0 fb8: 0e 94 87 0b call 0x170e ; 0x170e fbc: 0f 5f subi r16, 0xFF ; 255 fbe: 1f 4f sbci r17, 0xFF ; 255 fc0: f2 cf rjmp .-28 ; 0xfa6 fc2: 77 fe sbrs r7, 7 fc4: 0f c0 rjmp .+30 ; 0xfe4 fc6: 4c 0c add r4, r12 fc8: 04 ff sbrs r16, 4 fca: 04 c0 rjmp .+8 ; 0xfd4 fcc: 8a 81 ldd r24, Y+2 ; 0x02 fce: 81 33 cpi r24, 0x31 ; 49 fd0: 09 f4 brne .+2 ; 0xfd4 fd2: 4a 94 dec r4 fd4: 14 14 cp r1, r4 fd6: 74 f5 brge .+92 ; 0x1034 fd8: f8 e0 ldi r31, 0x08 ; 8 fda: f4 15 cp r31, r4 fdc: 78 f5 brcc .+94 ; 0x103c fde: 88 e0 ldi r24, 0x08 ; 8 fe0: 48 2e mov r4, r24 fe2: 2c c0 rjmp .+88 ; 0x103c fe4: 76 fc sbrc r7, 6 fe6: 2a c0 rjmp .+84 ; 0x103c fe8: 81 2f mov r24, r17 fea: 90 e0 ldi r25, 0x00 ; 0 fec: 8c 15 cp r24, r12 fee: 9d 05 cpc r25, r13 ff0: 9c f0 brlt .+38 ; 0x1018 ff2: 6c ef ldi r22, 0xFC ; 252 ff4: c6 16 cp r12, r22 ff6: 6f ef ldi r22, 0xFF ; 255 ff8: d6 06 cpc r13, r22 ffa: 74 f0 brlt .+28 ; 0x1018 ffc: 77 2d mov r23, r7 ffe: 70 68 ori r23, 0x80 ; 128 1000: 77 2e mov r7, r23 1002: 0a c0 rjmp .+20 ; 0x1018 1004: e2 e0 ldi r30, 0x02 ; 2 1006: f0 e0 ldi r31, 0x00 ; 0 1008: ec 0f add r30, r28 100a: fd 1f adc r31, r29 100c: e1 0f add r30, r17 100e: f1 1d adc r31, r1 1010: 80 81 ld r24, Z 1012: 80 33 cpi r24, 0x30 ; 48 1014: 19 f4 brne .+6 ; 0x101c 1016: 11 50 subi r17, 0x01 ; 1 1018: 11 11 cpse r17, r1 101a: f4 cf rjmp .-24 ; 0x1004 101c: 77 fe sbrs r7, 7 101e: 0e c0 rjmp .+28 ; 0x103c 1020: 44 24 eor r4, r4 1022: 43 94 inc r4 1024: 41 0e add r4, r17 1026: 81 2f mov r24, r17 1028: 90 e0 ldi r25, 0x00 ; 0 102a: c8 16 cp r12, r24 102c: d9 06 cpc r13, r25 102e: 2c f4 brge .+10 ; 0x103a 1030: 1c 19 sub r17, r12 1032: 04 c0 rjmp .+8 ; 0x103c 1034: 44 24 eor r4, r4 1036: 43 94 inc r4 1038: 01 c0 rjmp .+2 ; 0x103c 103a: 10 e0 ldi r17, 0x00 ; 0 103c: 77 fe sbrs r7, 7 103e: 07 c0 rjmp .+14 ; 0x104e 1040: 1c 14 cp r1, r12 1042: 1d 04 cpc r1, r13 1044: 3c f4 brge .+14 ; 0x1054 1046: 96 01 movw r18, r12 1048: 2f 5f subi r18, 0xFF ; 255 104a: 3f 4f sbci r19, 0xFF ; 255 104c: 05 c0 rjmp .+10 ; 0x1058 104e: 25 e0 ldi r18, 0x05 ; 5 1050: 30 e0 ldi r19, 0x00 ; 0 1052: 02 c0 rjmp .+4 ; 0x1058 1054: 21 e0 ldi r18, 0x01 ; 1 1056: 30 e0 ldi r19, 0x00 ; 0 1058: 66 20 and r6, r6 105a: 11 f0 breq .+4 ; 0x1060 105c: 2f 5f subi r18, 0xFF ; 255 105e: 3f 4f sbci r19, 0xFF ; 255 1060: 11 23 and r17, r17 1062: 31 f0 breq .+12 ; 0x1070 1064: 41 2f mov r20, r17 1066: 50 e0 ldi r21, 0x00 ; 0 1068: 4f 5f subi r20, 0xFF ; 255 106a: 5f 4f sbci r21, 0xFF ; 255 106c: 24 0f add r18, r20 106e: 35 1f adc r19, r21 1070: 45 2d mov r20, r5 1072: 50 e0 ldi r21, 0x00 ; 0 1074: 24 17 cp r18, r20 1076: 35 07 cpc r19, r21 1078: 14 f4 brge .+4 ; 0x107e 107a: 52 1a sub r5, r18 107c: 01 c0 rjmp .+2 ; 0x1080 107e: 51 2c mov r5, r1 1080: 87 2d mov r24, r7 1082: 89 70 andi r24, 0x09 ; 9 1084: 49 f4 brne .+18 ; 0x1098 1086: 55 20 and r5, r5 1088: 39 f0 breq .+14 ; 0x1098 108a: b7 01 movw r22, r14 108c: 80 e2 ldi r24, 0x20 ; 32 108e: 90 e0 ldi r25, 0x00 ; 0 1090: 0e 94 87 0b call 0x170e ; 0x170e 1094: 5a 94 dec r5 1096: f7 cf rjmp .-18 ; 0x1086 1098: 66 20 and r6, r6 109a: 29 f0 breq .+10 ; 0x10a6 109c: b7 01 movw r22, r14 109e: 86 2d mov r24, r6 10a0: 90 e0 ldi r25, 0x00 ; 0 10a2: 0e 94 87 0b call 0x170e ; 0x170e 10a6: 73 fc sbrc r7, 3 10a8: 09 c0 rjmp .+18 ; 0x10bc 10aa: 55 20 and r5, r5 10ac: 39 f0 breq .+14 ; 0x10bc 10ae: b7 01 movw r22, r14 10b0: 80 e3 ldi r24, 0x30 ; 48 10b2: 90 e0 ldi r25, 0x00 ; 0 10b4: 0e 94 87 0b call 0x170e ; 0x170e 10b8: 5a 94 dec r5 10ba: f7 cf rjmp .-18 ; 0x10aa 10bc: 77 fe sbrs r7, 7 10be: 5f c0 rjmp .+190 ; 0x117e <__stack+0x7f> 10c0: 9c 2d mov r25, r12 10c2: 8d 2d mov r24, r13 10c4: d7 fe sbrs r13, 7 10c6: 02 c0 rjmp .+4 ; 0x10cc 10c8: 90 e0 ldi r25, 0x00 ; 0 10ca: 80 e0 ldi r24, 0x00 ; 0 10cc: 69 2e mov r6, r25 10ce: 78 2e mov r7, r24 10d0: 40 e0 ldi r20, 0x00 ; 0 10d2: 50 e0 ldi r21, 0x00 ; 0 10d4: c6 01 movw r24, r12 10d6: 84 19 sub r24, r4 10d8: 91 09 sbc r25, r1 10da: 9d 87 std Y+13, r25 ; 0x0d 10dc: 8c 87 std Y+12, r24 ; 0x0c 10de: 96 01 movw r18, r12 10e0: 26 19 sub r18, r6 10e2: 37 09 sbc r19, r7 10e4: 28 0d add r18, r8 10e6: 39 1d adc r19, r9 10e8: 81 2f mov r24, r17 10ea: 90 e0 ldi r25, 0x00 ; 0 10ec: ee 27 eor r30, r30 10ee: ff 27 eor r31, r31 10f0: e8 1b sub r30, r24 10f2: f9 0b sbc r31, r25 10f4: ff 87 std Y+15, r31 ; 0x0f 10f6: ee 87 std Y+14, r30 ; 0x0e 10f8: ff ef ldi r31, 0xFF ; 255 10fa: 6f 16 cp r6, r31 10fc: 7f 06 cpc r7, r31 10fe: 69 f4 brne .+26 ; 0x111a <__stack+0x1b> 1100: b7 01 movw r22, r14 1102: 8e e2 ldi r24, 0x2E ; 46 1104: 90 e0 ldi r25, 0x00 ; 0 1106: 2b 8b std Y+19, r18 ; 0x13 1108: 3a 8b std Y+18, r19 ; 0x12 110a: 48 8b std Y+16, r20 ; 0x10 110c: 59 8b std Y+17, r21 ; 0x11 110e: 0e 94 87 0b call 0x170e ; 0x170e 1112: 59 89 ldd r21, Y+17 ; 0x11 1114: 48 89 ldd r20, Y+16 ; 0x10 1116: 3a 89 ldd r19, Y+18 ; 0x12 1118: 2b 89 ldd r18, Y+19 ; 0x13 111a: c6 14 cp r12, r6 111c: d7 04 cpc r13, r7 111e: 54 f0 brlt .+20 ; 0x1134 <__stack+0x35> 1120: 6c 85 ldd r22, Y+12 ; 0x0c 1122: 7d 85 ldd r23, Y+13 ; 0x0d 1124: 66 15 cp r22, r6 1126: 77 05 cpc r23, r7 1128: 2c f4 brge .+10 ; 0x1134 <__stack+0x35> 112a: f9 01 movw r30, r18 112c: e4 0f add r30, r20 112e: f5 1f adc r31, r21 1130: 81 81 ldd r24, Z+1 ; 0x01 1132: 01 c0 rjmp .+2 ; 0x1136 <__stack+0x37> 1134: 80 e3 ldi r24, 0x30 ; 48 1136: 71 e0 ldi r23, 0x01 ; 1 1138: 67 1a sub r6, r23 113a: 71 08 sbc r7, r1 113c: 4f 5f subi r20, 0xFF ; 255 113e: 5f 4f sbci r21, 0xFF ; 255 1140: ee 85 ldd r30, Y+14 ; 0x0e 1142: ff 85 ldd r31, Y+15 ; 0x0f 1144: 6e 16 cp r6, r30 1146: 7f 06 cpc r7, r31 1148: 6c f0 brlt .+26 ; 0x1164 <__stack+0x65> 114a: b7 01 movw r22, r14 114c: 90 e0 ldi r25, 0x00 ; 0 114e: 2b 8b std Y+19, r18 ; 0x13 1150: 3a 8b std Y+18, r19 ; 0x12 1152: 48 8b std Y+16, r20 ; 0x10 1154: 59 8b std Y+17, r21 ; 0x11 1156: 0e 94 87 0b call 0x170e ; 0x170e 115a: 2b 89 ldd r18, Y+19 ; 0x13 115c: 3a 89 ldd r19, Y+18 ; 0x12 115e: 48 89 ldd r20, Y+16 ; 0x10 1160: 59 89 ldd r21, Y+17 ; 0x11 1162: ca cf rjmp .-108 ; 0x10f8 1164: 6c 14 cp r6, r12 1166: 7d 04 cpc r7, r13 1168: 39 f4 brne .+14 ; 0x1178 <__stack+0x79> 116a: 9a 81 ldd r25, Y+2 ; 0x02 116c: 96 33 cpi r25, 0x36 ; 54 116e: 18 f4 brcc .+6 ; 0x1176 <__stack+0x77> 1170: 95 33 cpi r25, 0x35 ; 53 1172: 11 f4 brne .+4 ; 0x1178 <__stack+0x79> 1174: 04 ff sbrs r16, 4 1176: 81 e3 ldi r24, 0x31 ; 49 1178: b7 01 movw r22, r14 117a: 90 e0 ldi r25, 0x00 ; 0 117c: 4b c0 rjmp .+150 ; 0x1214 <__stack+0x115> 117e: 8a 81 ldd r24, Y+2 ; 0x02 1180: 81 33 cpi r24, 0x31 ; 49 1182: 09 f0 breq .+2 ; 0x1186 <__stack+0x87> 1184: 0f 7e andi r16, 0xEF ; 239 1186: b7 01 movw r22, r14 1188: 90 e0 ldi r25, 0x00 ; 0 118a: 0e 94 87 0b call 0x170e ; 0x170e 118e: 11 11 cpse r17, r1 1190: 05 c0 rjmp .+10 ; 0x119c <__stack+0x9d> 1192: 74 fe sbrs r7, 4 1194: 18 c0 rjmp .+48 ; 0x11c6 <__stack+0xc7> 1196: 85 e4 ldi r24, 0x45 ; 69 1198: 90 e0 ldi r25, 0x00 ; 0 119a: 17 c0 rjmp .+46 ; 0x11ca <__stack+0xcb> 119c: b7 01 movw r22, r14 119e: 8e e2 ldi r24, 0x2E ; 46 11a0: 90 e0 ldi r25, 0x00 ; 0 11a2: 0e 94 87 0b call 0x170e ; 0x170e 11a6: 82 e0 ldi r24, 0x02 ; 2 11a8: 66 24 eor r6, r6 11aa: 63 94 inc r6 11ac: 68 0e add r6, r24 11ae: f4 01 movw r30, r8 11b0: e8 0f add r30, r24 11b2: f1 1d adc r31, r1 11b4: 80 81 ld r24, Z 11b6: b7 01 movw r22, r14 11b8: 90 e0 ldi r25, 0x00 ; 0 11ba: 0e 94 87 0b call 0x170e ; 0x170e 11be: 11 50 subi r17, 0x01 ; 1 11c0: 41 f3 breq .-48 ; 0x1192 <__stack+0x93> 11c2: 86 2d mov r24, r6 11c4: f1 cf rjmp .-30 ; 0x11a8 <__stack+0xa9> 11c6: 85 e6 ldi r24, 0x65 ; 101 11c8: 90 e0 ldi r25, 0x00 ; 0 11ca: b7 01 movw r22, r14 11cc: 0e 94 87 0b call 0x170e ; 0x170e 11d0: d7 fc sbrc r13, 7 11d2: 05 c0 rjmp .+10 ; 0x11de <__stack+0xdf> 11d4: c1 14 cp r12, r1 11d6: d1 04 cpc r13, r1 11d8: 39 f4 brne .+14 ; 0x11e8 <__stack+0xe9> 11da: 04 ff sbrs r16, 4 11dc: 05 c0 rjmp .+10 ; 0x11e8 <__stack+0xe9> 11de: d1 94 neg r13 11e0: c1 94 neg r12 11e2: d1 08 sbc r13, r1 11e4: 8d e2 ldi r24, 0x2D ; 45 11e6: 01 c0 rjmp .+2 ; 0x11ea <__stack+0xeb> 11e8: 8b e2 ldi r24, 0x2B ; 43 11ea: b7 01 movw r22, r14 11ec: 90 e0 ldi r25, 0x00 ; 0 11ee: 0e 94 87 0b call 0x170e ; 0x170e 11f2: 80 e3 ldi r24, 0x30 ; 48 11f4: 6a e0 ldi r22, 0x0A ; 10 11f6: c6 16 cp r12, r22 11f8: d1 04 cpc r13, r1 11fa: 2c f0 brlt .+10 ; 0x1206 <__stack+0x107> 11fc: 8f 5f subi r24, 0xFF ; 255 11fe: fa e0 ldi r31, 0x0A ; 10 1200: cf 1a sub r12, r31 1202: d1 08 sbc r13, r1 1204: f7 cf rjmp .-18 ; 0x11f4 <__stack+0xf5> 1206: b7 01 movw r22, r14 1208: 90 e0 ldi r25, 0x00 ; 0 120a: 0e 94 87 0b call 0x170e ; 0x170e 120e: b7 01 movw r22, r14 1210: c6 01 movw r24, r12 1212: c0 96 adiw r24, 0x30 ; 48 1214: 0e 94 87 0b call 0x170e ; 0x170e 1218: 41 c1 rjmp .+642 ; 0x149c <__stack+0x39d> 121a: 83 36 cpi r24, 0x63 ; 99 121c: 31 f0 breq .+12 ; 0x122a <__stack+0x12b> 121e: 83 37 cpi r24, 0x73 ; 115 1220: 79 f0 breq .+30 ; 0x1240 <__stack+0x141> 1222: 83 35 cpi r24, 0x53 ; 83 1224: 09 f0 breq .+2 ; 0x1228 <__stack+0x129> 1226: 58 c0 rjmp .+176 ; 0x12d8 <__stack+0x1d9> 1228: 21 c0 rjmp .+66 ; 0x126c <__stack+0x16d> 122a: 56 01 movw r10, r12 122c: 72 e0 ldi r23, 0x02 ; 2 122e: a7 0e add r10, r23 1230: b1 1c adc r11, r1 1232: f6 01 movw r30, r12 1234: 80 81 ld r24, Z 1236: 89 83 std Y+1, r24 ; 0x01 1238: 01 e0 ldi r16, 0x01 ; 1 123a: 10 e0 ldi r17, 0x00 ; 0 123c: 64 01 movw r12, r8 123e: 14 c0 rjmp .+40 ; 0x1268 <__stack+0x169> 1240: 56 01 movw r10, r12 1242: f2 e0 ldi r31, 0x02 ; 2 1244: af 0e add r10, r31 1246: b1 1c adc r11, r1 1248: f6 01 movw r30, r12 124a: c0 80 ld r12, Z 124c: d1 80 ldd r13, Z+1 ; 0x01 124e: 26 ff sbrs r18, 6 1250: 03 c0 rjmp .+6 ; 0x1258 <__stack+0x159> 1252: 61 2f mov r22, r17 1254: 70 e0 ldi r23, 0x00 ; 0 1256: 02 c0 rjmp .+4 ; 0x125c <__stack+0x15d> 1258: 6f ef ldi r22, 0xFF ; 255 125a: 7f ef ldi r23, 0xFF ; 255 125c: c6 01 movw r24, r12 125e: 2b 8b std Y+19, r18 ; 0x13 1260: 0e 94 7c 0b call 0x16f8 ; 0x16f8 1264: 8c 01 movw r16, r24 1266: 2b 89 ldd r18, Y+19 ; 0x13 1268: 2f 77 andi r18, 0x7F ; 127 126a: 15 c0 rjmp .+42 ; 0x1296 <__stack+0x197> 126c: 56 01 movw r10, r12 126e: f2 e0 ldi r31, 0x02 ; 2 1270: af 0e add r10, r31 1272: b1 1c adc r11, r1 1274: f6 01 movw r30, r12 1276: c0 80 ld r12, Z 1278: d1 80 ldd r13, Z+1 ; 0x01 127a: 26 ff sbrs r18, 6 127c: 03 c0 rjmp .+6 ; 0x1284 <__stack+0x185> 127e: 61 2f mov r22, r17 1280: 70 e0 ldi r23, 0x00 ; 0 1282: 02 c0 rjmp .+4 ; 0x1288 <__stack+0x189> 1284: 6f ef ldi r22, 0xFF ; 255 1286: 7f ef ldi r23, 0xFF ; 255 1288: c6 01 movw r24, r12 128a: 2b 8b std Y+19, r18 ; 0x13 128c: 0e 94 71 0b call 0x16e2 ; 0x16e2 1290: 8c 01 movw r16, r24 1292: 2b 89 ldd r18, Y+19 ; 0x13 1294: 20 68 ori r18, 0x80 ; 128 1296: 72 2e mov r7, r18 1298: 23 fd sbrc r18, 3 129a: 1a c0 rjmp .+52 ; 0x12d0 <__stack+0x1d1> 129c: 85 2d mov r24, r5 129e: 90 e0 ldi r25, 0x00 ; 0 12a0: 08 17 cp r16, r24 12a2: 19 07 cpc r17, r25 12a4: a8 f4 brcc .+42 ; 0x12d0 <__stack+0x1d1> 12a6: b7 01 movw r22, r14 12a8: 80 e2 ldi r24, 0x20 ; 32 12aa: 90 e0 ldi r25, 0x00 ; 0 12ac: 0e 94 87 0b call 0x170e ; 0x170e 12b0: 5a 94 dec r5 12b2: f4 cf rjmp .-24 ; 0x129c <__stack+0x19d> 12b4: f6 01 movw r30, r12 12b6: 77 fc sbrc r7, 7 12b8: 85 91 lpm r24, Z+ 12ba: 77 fe sbrs r7, 7 12bc: 81 91 ld r24, Z+ 12be: 6f 01 movw r12, r30 12c0: b7 01 movw r22, r14 12c2: 90 e0 ldi r25, 0x00 ; 0 12c4: 0e 94 87 0b call 0x170e ; 0x170e 12c8: 51 10 cpse r5, r1 12ca: 5a 94 dec r5 12cc: 01 50 subi r16, 0x01 ; 1 12ce: 11 09 sbc r17, r1 12d0: 01 15 cp r16, r1 12d2: 11 05 cpc r17, r1 12d4: 79 f7 brne .-34 ; 0x12b4 <__stack+0x1b5> 12d6: e2 c0 rjmp .+452 ; 0x149c <__stack+0x39d> 12d8: 84 36 cpi r24, 0x64 ; 100 12da: 11 f0 breq .+4 ; 0x12e0 <__stack+0x1e1> 12dc: 89 36 cpi r24, 0x69 ; 105 12de: 51 f5 brne .+84 ; 0x1334 <__stack+0x235> 12e0: 56 01 movw r10, r12 12e2: 27 ff sbrs r18, 7 12e4: 09 c0 rjmp .+18 ; 0x12f8 <__stack+0x1f9> 12e6: f4 e0 ldi r31, 0x04 ; 4 12e8: af 0e add r10, r31 12ea: b1 1c adc r11, r1 12ec: f6 01 movw r30, r12 12ee: 60 81 ld r22, Z 12f0: 71 81 ldd r23, Z+1 ; 0x01 12f2: 82 81 ldd r24, Z+2 ; 0x02 12f4: 93 81 ldd r25, Z+3 ; 0x03 12f6: 0a c0 rjmp .+20 ; 0x130c <__stack+0x20d> 12f8: f2 e0 ldi r31, 0x02 ; 2 12fa: af 0e add r10, r31 12fc: b1 1c adc r11, r1 12fe: f6 01 movw r30, r12 1300: 60 81 ld r22, Z 1302: 71 81 ldd r23, Z+1 ; 0x01 1304: 88 27 eor r24, r24 1306: 77 fd sbrc r23, 7 1308: 80 95 com r24 130a: 98 2f mov r25, r24 130c: 02 2f mov r16, r18 130e: 0f 76 andi r16, 0x6F ; 111 1310: 97 ff sbrs r25, 7 1312: 08 c0 rjmp .+16 ; 0x1324 <__stack+0x225> 1314: 90 95 com r25 1316: 80 95 com r24 1318: 70 95 com r23 131a: 61 95 neg r22 131c: 7f 4f sbci r23, 0xFF ; 255 131e: 8f 4f sbci r24, 0xFF ; 255 1320: 9f 4f sbci r25, 0xFF ; 255 1322: 00 68 ori r16, 0x80 ; 128 1324: 2a e0 ldi r18, 0x0A ; 10 1326: 30 e0 ldi r19, 0x00 ; 0 1328: a4 01 movw r20, r8 132a: 0e 94 1a 0c call 0x1834 ; 0x1834 <__ultoa_invert> 132e: c8 2e mov r12, r24 1330: c8 18 sub r12, r8 1332: 3e c0 rjmp .+124 ; 0x13b0 <__stack+0x2b1> 1334: 02 2f mov r16, r18 1336: 85 37 cpi r24, 0x75 ; 117 1338: 21 f4 brne .+8 ; 0x1342 <__stack+0x243> 133a: 0f 7e andi r16, 0xEF ; 239 133c: 2a e0 ldi r18, 0x0A ; 10 133e: 30 e0 ldi r19, 0x00 ; 0 1340: 1d c0 rjmp .+58 ; 0x137c <__stack+0x27d> 1342: 09 7f andi r16, 0xF9 ; 249 1344: 8f 36 cpi r24, 0x6F ; 111 1346: 91 f0 breq .+36 ; 0x136c <__stack+0x26d> 1348: 18 f4 brcc .+6 ; 0x1350 <__stack+0x251> 134a: 88 35 cpi r24, 0x58 ; 88 134c: 59 f0 breq .+22 ; 0x1364 <__stack+0x265> 134e: b0 c0 rjmp .+352 ; 0x14b0 <__stack+0x3b1> 1350: 80 37 cpi r24, 0x70 ; 112 1352: 19 f0 breq .+6 ; 0x135a <__stack+0x25b> 1354: 88 37 cpi r24, 0x78 ; 120 1356: 11 f0 breq .+4 ; 0x135c <__stack+0x25d> 1358: ab c0 rjmp .+342 ; 0x14b0 <__stack+0x3b1> 135a: 00 61 ori r16, 0x10 ; 16 135c: 04 ff sbrs r16, 4 135e: 09 c0 rjmp .+18 ; 0x1372 <__stack+0x273> 1360: 04 60 ori r16, 0x04 ; 4 1362: 07 c0 rjmp .+14 ; 0x1372 <__stack+0x273> 1364: 24 ff sbrs r18, 4 1366: 08 c0 rjmp .+16 ; 0x1378 <__stack+0x279> 1368: 06 60 ori r16, 0x06 ; 6 136a: 06 c0 rjmp .+12 ; 0x1378 <__stack+0x279> 136c: 28 e0 ldi r18, 0x08 ; 8 136e: 30 e0 ldi r19, 0x00 ; 0 1370: 05 c0 rjmp .+10 ; 0x137c <__stack+0x27d> 1372: 20 e1 ldi r18, 0x10 ; 16 1374: 30 e0 ldi r19, 0x00 ; 0 1376: 02 c0 rjmp .+4 ; 0x137c <__stack+0x27d> 1378: 20 e1 ldi r18, 0x10 ; 16 137a: 32 e0 ldi r19, 0x02 ; 2 137c: 56 01 movw r10, r12 137e: 07 ff sbrs r16, 7 1380: 09 c0 rjmp .+18 ; 0x1394 <__stack+0x295> 1382: f4 e0 ldi r31, 0x04 ; 4 1384: af 0e add r10, r31 1386: b1 1c adc r11, r1 1388: f6 01 movw r30, r12 138a: 60 81 ld r22, Z 138c: 71 81 ldd r23, Z+1 ; 0x01 138e: 82 81 ldd r24, Z+2 ; 0x02 1390: 93 81 ldd r25, Z+3 ; 0x03 1392: 08 c0 rjmp .+16 ; 0x13a4 <__stack+0x2a5> 1394: f2 e0 ldi r31, 0x02 ; 2 1396: af 0e add r10, r31 1398: b1 1c adc r11, r1 139a: f6 01 movw r30, r12 139c: 60 81 ld r22, Z 139e: 71 81 ldd r23, Z+1 ; 0x01 13a0: 80 e0 ldi r24, 0x00 ; 0 13a2: 90 e0 ldi r25, 0x00 ; 0 13a4: a4 01 movw r20, r8 13a6: 0e 94 1a 0c call 0x1834 ; 0x1834 <__ultoa_invert> 13aa: c8 2e mov r12, r24 13ac: c8 18 sub r12, r8 13ae: 0f 77 andi r16, 0x7F ; 127 13b0: 06 ff sbrs r16, 6 13b2: 0b c0 rjmp .+22 ; 0x13ca <__stack+0x2cb> 13b4: 20 2f mov r18, r16 13b6: 2e 7f andi r18, 0xFE ; 254 13b8: c1 16 cp r12, r17 13ba: 50 f4 brcc .+20 ; 0x13d0 <__stack+0x2d1> 13bc: 04 ff sbrs r16, 4 13be: 0a c0 rjmp .+20 ; 0x13d4 <__stack+0x2d5> 13c0: 02 fd sbrc r16, 2 13c2: 08 c0 rjmp .+16 ; 0x13d4 <__stack+0x2d5> 13c4: 20 2f mov r18, r16 13c6: 2e 7e andi r18, 0xEE ; 238 13c8: 05 c0 rjmp .+10 ; 0x13d4 <__stack+0x2d5> 13ca: dc 2c mov r13, r12 13cc: 20 2f mov r18, r16 13ce: 03 c0 rjmp .+6 ; 0x13d6 <__stack+0x2d7> 13d0: dc 2c mov r13, r12 13d2: 01 c0 rjmp .+2 ; 0x13d6 <__stack+0x2d7> 13d4: d1 2e mov r13, r17 13d6: 24 ff sbrs r18, 4 13d8: 0d c0 rjmp .+26 ; 0x13f4 <__stack+0x2f5> 13da: fe 01 movw r30, r28 13dc: ec 0d add r30, r12 13de: f1 1d adc r31, r1 13e0: 80 81 ld r24, Z 13e2: 80 33 cpi r24, 0x30 ; 48 13e4: 11 f4 brne .+4 ; 0x13ea <__stack+0x2eb> 13e6: 29 7e andi r18, 0xE9 ; 233 13e8: 09 c0 rjmp .+18 ; 0x13fc <__stack+0x2fd> 13ea: 22 ff sbrs r18, 2 13ec: 06 c0 rjmp .+12 ; 0x13fa <__stack+0x2fb> 13ee: d3 94 inc r13 13f0: d3 94 inc r13 13f2: 04 c0 rjmp .+8 ; 0x13fc <__stack+0x2fd> 13f4: 82 2f mov r24, r18 13f6: 86 78 andi r24, 0x86 ; 134 13f8: 09 f0 breq .+2 ; 0x13fc <__stack+0x2fd> 13fa: d3 94 inc r13 13fc: 23 fd sbrc r18, 3 13fe: 13 c0 rjmp .+38 ; 0x1426 <__stack+0x327> 1400: 20 ff sbrs r18, 0 1402: 06 c0 rjmp .+12 ; 0x1410 <__stack+0x311> 1404: 1c 2d mov r17, r12 1406: d5 14 cp r13, r5 1408: 18 f4 brcc .+6 ; 0x1410 <__stack+0x311> 140a: 15 0d add r17, r5 140c: 1d 19 sub r17, r13 140e: d5 2c mov r13, r5 1410: d5 14 cp r13, r5 1412: 68 f4 brcc .+26 ; 0x142e <__stack+0x32f> 1414: b7 01 movw r22, r14 1416: 80 e2 ldi r24, 0x20 ; 32 1418: 90 e0 ldi r25, 0x00 ; 0 141a: 2b 8b std Y+19, r18 ; 0x13 141c: 0e 94 87 0b call 0x170e ; 0x170e 1420: d3 94 inc r13 1422: 2b 89 ldd r18, Y+19 ; 0x13 1424: f5 cf rjmp .-22 ; 0x1410 <__stack+0x311> 1426: d5 14 cp r13, r5 1428: 10 f4 brcc .+4 ; 0x142e <__stack+0x32f> 142a: 5d 18 sub r5, r13 142c: 01 c0 rjmp .+2 ; 0x1430 <__stack+0x331> 142e: 51 2c mov r5, r1 1430: 24 ff sbrs r18, 4 1432: 12 c0 rjmp .+36 ; 0x1458 <__stack+0x359> 1434: b7 01 movw r22, r14 1436: 80 e3 ldi r24, 0x30 ; 48 1438: 90 e0 ldi r25, 0x00 ; 0 143a: 2b 8b std Y+19, r18 ; 0x13 143c: 0e 94 87 0b call 0x170e ; 0x170e 1440: 2b 89 ldd r18, Y+19 ; 0x13 1442: 22 ff sbrs r18, 2 1444: 17 c0 rjmp .+46 ; 0x1474 <__stack+0x375> 1446: 21 ff sbrs r18, 1 1448: 03 c0 rjmp .+6 ; 0x1450 <__stack+0x351> 144a: 88 e5 ldi r24, 0x58 ; 88 144c: 90 e0 ldi r25, 0x00 ; 0 144e: 02 c0 rjmp .+4 ; 0x1454 <__stack+0x355> 1450: 88 e7 ldi r24, 0x78 ; 120 1452: 90 e0 ldi r25, 0x00 ; 0 1454: b7 01 movw r22, r14 1456: 0c c0 rjmp .+24 ; 0x1470 <__stack+0x371> 1458: 82 2f mov r24, r18 145a: 86 78 andi r24, 0x86 ; 134 145c: 59 f0 breq .+22 ; 0x1474 <__stack+0x375> 145e: 21 fd sbrc r18, 1 1460: 02 c0 rjmp .+4 ; 0x1466 <__stack+0x367> 1462: 80 e2 ldi r24, 0x20 ; 32 1464: 01 c0 rjmp .+2 ; 0x1468 <__stack+0x369> 1466: 8b e2 ldi r24, 0x2B ; 43 1468: 27 fd sbrc r18, 7 146a: 8d e2 ldi r24, 0x2D ; 45 146c: b7 01 movw r22, r14 146e: 90 e0 ldi r25, 0x00 ; 0 1470: 0e 94 87 0b call 0x170e ; 0x170e 1474: c1 16 cp r12, r17 1476: 38 f4 brcc .+14 ; 0x1486 <__stack+0x387> 1478: b7 01 movw r22, r14 147a: 80 e3 ldi r24, 0x30 ; 48 147c: 90 e0 ldi r25, 0x00 ; 0 147e: 0e 94 87 0b call 0x170e ; 0x170e 1482: 11 50 subi r17, 0x01 ; 1 1484: f7 cf rjmp .-18 ; 0x1474 <__stack+0x375> 1486: ca 94 dec r12 1488: f4 01 movw r30, r8 148a: ec 0d add r30, r12 148c: f1 1d adc r31, r1 148e: 80 81 ld r24, Z 1490: b7 01 movw r22, r14 1492: 90 e0 ldi r25, 0x00 ; 0 1494: 0e 94 87 0b call 0x170e ; 0x170e 1498: c1 10 cpse r12, r1 149a: f5 cf rjmp .-22 ; 0x1486 <__stack+0x387> 149c: 55 20 and r5, r5 149e: 09 f4 brne .+2 ; 0x14a2 <__stack+0x3a3> 14a0: c2 cc rjmp .-1660 ; 0xe26 14a2: b7 01 movw r22, r14 14a4: 80 e2 ldi r24, 0x20 ; 32 14a6: 90 e0 ldi r25, 0x00 ; 0 14a8: 0e 94 87 0b call 0x170e ; 0x170e 14ac: 5a 94 dec r5 14ae: f6 cf rjmp .-20 ; 0x149c <__stack+0x39d> 14b0: f7 01 movw r30, r14 14b2: 86 81 ldd r24, Z+6 ; 0x06 14b4: 97 81 ldd r25, Z+7 ; 0x07 14b6: 02 c0 rjmp .+4 ; 0x14bc <__stack+0x3bd> 14b8: 8f ef ldi r24, 0xFF ; 255 14ba: 9f ef ldi r25, 0xFF ; 255 14bc: 63 96 adiw r28, 0x13 ; 19 14be: e2 e1 ldi r30, 0x12 ; 18 14c0: 0c 94 7e 0a jmp 0x14fc ; 0x14fc <__epilogue_restores__> 000014c4 <__prologue_saves__>: 14c4: 2f 92 push r2 14c6: 3f 92 push r3 14c8: 4f 92 push r4 14ca: 5f 92 push r5 14cc: 6f 92 push r6 14ce: 7f 92 push r7 14d0: 8f 92 push r8 14d2: 9f 92 push r9 14d4: af 92 push r10 14d6: bf 92 push r11 14d8: cf 92 push r12 14da: df 92 push r13 14dc: ef 92 push r14 14de: ff 92 push r15 14e0: 0f 93 push r16 14e2: 1f 93 push r17 14e4: cf 93 push r28 14e6: df 93 push r29 14e8: cd b7 in r28, 0x3d ; 61 14ea: de b7 in r29, 0x3e ; 62 14ec: ca 1b sub r28, r26 14ee: db 0b sbc r29, r27 14f0: 0f b6 in r0, 0x3f ; 63 14f2: f8 94 cli 14f4: de bf out 0x3e, r29 ; 62 14f6: 0f be out 0x3f, r0 ; 63 14f8: cd bf out 0x3d, r28 ; 61 14fa: 09 94 ijmp 000014fc <__epilogue_restores__>: 14fc: 2a 88 ldd r2, Y+18 ; 0x12 14fe: 39 88 ldd r3, Y+17 ; 0x11 1500: 48 88 ldd r4, Y+16 ; 0x10 1502: 5f 84 ldd r5, Y+15 ; 0x0f 1504: 6e 84 ldd r6, Y+14 ; 0x0e 1506: 7d 84 ldd r7, Y+13 ; 0x0d 1508: 8c 84 ldd r8, Y+12 ; 0x0c 150a: 9b 84 ldd r9, Y+11 ; 0x0b 150c: aa 84 ldd r10, Y+10 ; 0x0a 150e: b9 84 ldd r11, Y+9 ; 0x09 1510: c8 84 ldd r12, Y+8 ; 0x08 1512: df 80 ldd r13, Y+7 ; 0x07 1514: ee 80 ldd r14, Y+6 ; 0x06 1516: fd 80 ldd r15, Y+5 ; 0x05 1518: 0c 81 ldd r16, Y+4 ; 0x04 151a: 1b 81 ldd r17, Y+3 ; 0x03 151c: aa 81 ldd r26, Y+2 ; 0x02 151e: b9 81 ldd r27, Y+1 ; 0x01 1520: ce 0f add r28, r30 1522: d1 1d adc r29, r1 1524: 0f b6 in r0, 0x3f ; 63 1526: f8 94 cli 1528: de bf out 0x3e, r29 ; 62 152a: 0f be out 0x3f, r0 ; 63 152c: cd bf out 0x3d, r28 ; 61 152e: ed 01 movw r28, r26 1530: 08 95 ret 00001532 <__ftoa_engine>: 1532: 28 30 cpi r18, 0x08 ; 8 1534: 08 f0 brcs .+2 ; 0x1538 <__ftoa_engine+0x6> 1536: 27 e0 ldi r18, 0x07 ; 7 1538: 33 27 eor r19, r19 153a: da 01 movw r26, r20 153c: 99 0f add r25, r25 153e: 31 1d adc r19, r1 1540: 87 fd sbrc r24, 7 1542: 91 60 ori r25, 0x01 ; 1 1544: 00 96 adiw r24, 0x00 ; 0 1546: 61 05 cpc r22, r1 1548: 71 05 cpc r23, r1 154a: 39 f4 brne .+14 ; 0x155a <__ftoa_engine+0x28> 154c: 32 60 ori r19, 0x02 ; 2 154e: 2e 5f subi r18, 0xFE ; 254 1550: 3d 93 st X+, r19 1552: 30 e3 ldi r19, 0x30 ; 48 1554: 2a 95 dec r18 1556: e1 f7 brne .-8 ; 0x1550 <__ftoa_engine+0x1e> 1558: 08 95 ret 155a: 9f 3f cpi r25, 0xFF ; 255 155c: 30 f0 brcs .+12 ; 0x156a <__ftoa_engine+0x38> 155e: 80 38 cpi r24, 0x80 ; 128 1560: 71 05 cpc r23, r1 1562: 61 05 cpc r22, r1 1564: 09 f0 breq .+2 ; 0x1568 <__ftoa_engine+0x36> 1566: 3c 5f subi r19, 0xFC ; 252 1568: 3c 5f subi r19, 0xFC ; 252 156a: 3d 93 st X+, r19 156c: 91 30 cpi r25, 0x01 ; 1 156e: 08 f0 brcs .+2 ; 0x1572 <__ftoa_engine+0x40> 1570: 80 68 ori r24, 0x80 ; 128 1572: 91 1d adc r25, r1 1574: df 93 push r29 1576: cf 93 push r28 1578: 1f 93 push r17 157a: 0f 93 push r16 157c: ff 92 push r15 157e: ef 92 push r14 1580: 19 2f mov r17, r25 1582: 98 7f andi r25, 0xF8 ; 248 1584: 96 95 lsr r25 1586: e9 2f mov r30, r25 1588: 96 95 lsr r25 158a: 96 95 lsr r25 158c: e9 0f add r30, r25 158e: ff 27 eor r31, r31 1590: e2 52 subi r30, 0x22 ; 34 1592: ff 4f sbci r31, 0xFF ; 255 1594: 99 27 eor r25, r25 1596: 33 27 eor r19, r19 1598: ee 24 eor r14, r14 159a: ff 24 eor r15, r15 159c: a7 01 movw r20, r14 159e: e7 01 movw r28, r14 15a0: 05 90 lpm r0, Z+ 15a2: 08 94 sec 15a4: 07 94 ror r0 15a6: 28 f4 brcc .+10 ; 0x15b2 <__ftoa_engine+0x80> 15a8: 36 0f add r19, r22 15aa: e7 1e adc r14, r23 15ac: f8 1e adc r15, r24 15ae: 49 1f adc r20, r25 15b0: 51 1d adc r21, r1 15b2: 66 0f add r22, r22 15b4: 77 1f adc r23, r23 15b6: 88 1f adc r24, r24 15b8: 99 1f adc r25, r25 15ba: 06 94 lsr r0 15bc: a1 f7 brne .-24 ; 0x15a6 <__ftoa_engine+0x74> 15be: 05 90 lpm r0, Z+ 15c0: 07 94 ror r0 15c2: 28 f4 brcc .+10 ; 0x15ce <__ftoa_engine+0x9c> 15c4: e7 0e add r14, r23 15c6: f8 1e adc r15, r24 15c8: 49 1f adc r20, r25 15ca: 56 1f adc r21, r22 15cc: c1 1d adc r28, r1 15ce: 77 0f add r23, r23 15d0: 88 1f adc r24, r24 15d2: 99 1f adc r25, r25 15d4: 66 1f adc r22, r22 15d6: 06 94 lsr r0 15d8: a1 f7 brne .-24 ; 0x15c2 <__ftoa_engine+0x90> 15da: 05 90 lpm r0, Z+ 15dc: 07 94 ror r0 15de: 28 f4 brcc .+10 ; 0x15ea <__ftoa_engine+0xb8> 15e0: f8 0e add r15, r24 15e2: 49 1f adc r20, r25 15e4: 56 1f adc r21, r22 15e6: c7 1f adc r28, r23 15e8: d1 1d adc r29, r1 15ea: 88 0f add r24, r24 15ec: 99 1f adc r25, r25 15ee: 66 1f adc r22, r22 15f0: 77 1f adc r23, r23 15f2: 06 94 lsr r0 15f4: a1 f7 brne .-24 ; 0x15de <__ftoa_engine+0xac> 15f6: 05 90 lpm r0, Z+ 15f8: 07 94 ror r0 15fa: 20 f4 brcc .+8 ; 0x1604 <__ftoa_engine+0xd2> 15fc: 49 0f add r20, r25 15fe: 56 1f adc r21, r22 1600: c7 1f adc r28, r23 1602: d8 1f adc r29, r24 1604: 99 0f add r25, r25 1606: 66 1f adc r22, r22 1608: 77 1f adc r23, r23 160a: 88 1f adc r24, r24 160c: 06 94 lsr r0 160e: a9 f7 brne .-22 ; 0x15fa <__ftoa_engine+0xc8> 1610: 84 91 lpm r24, Z 1612: 10 95 com r17 1614: 17 70 andi r17, 0x07 ; 7 1616: 41 f0 breq .+16 ; 0x1628 <__ftoa_engine+0xf6> 1618: d6 95 lsr r29 161a: c7 95 ror r28 161c: 57 95 ror r21 161e: 47 95 ror r20 1620: f7 94 ror r15 1622: e7 94 ror r14 1624: 1a 95 dec r17 1626: c1 f7 brne .-16 ; 0x1618 <__ftoa_engine+0xe6> 1628: e4 e8 ldi r30, 0x84 ; 132 162a: f0 e0 ldi r31, 0x00 ; 0 162c: 68 94 set 162e: 15 90 lpm r1, Z+ 1630: 15 91 lpm r17, Z+ 1632: 35 91 lpm r19, Z+ 1634: 65 91 lpm r22, Z+ 1636: 95 91 lpm r25, Z+ 1638: 05 90 lpm r0, Z+ 163a: 7f e2 ldi r23, 0x2F ; 47 163c: 73 95 inc r23 163e: e1 18 sub r14, r1 1640: f1 0a sbc r15, r17 1642: 43 0b sbc r20, r19 1644: 56 0b sbc r21, r22 1646: c9 0b sbc r28, r25 1648: d0 09 sbc r29, r0 164a: c0 f7 brcc .-16 ; 0x163c <__ftoa_engine+0x10a> 164c: e1 0c add r14, r1 164e: f1 1e adc r15, r17 1650: 43 1f adc r20, r19 1652: 56 1f adc r21, r22 1654: c9 1f adc r28, r25 1656: d0 1d adc r29, r0 1658: 7e f4 brtc .+30 ; 0x1678 <__ftoa_engine+0x146> 165a: 70 33 cpi r23, 0x30 ; 48 165c: 11 f4 brne .+4 ; 0x1662 <__ftoa_engine+0x130> 165e: 8a 95 dec r24 1660: e6 cf rjmp .-52 ; 0x162e <__ftoa_engine+0xfc> 1662: e8 94 clt 1664: 01 50 subi r16, 0x01 ; 1 1666: 30 f0 brcs .+12 ; 0x1674 <__ftoa_engine+0x142> 1668: 08 0f add r16, r24 166a: 0a f4 brpl .+2 ; 0x166e <__ftoa_engine+0x13c> 166c: 00 27 eor r16, r16 166e: 02 17 cp r16, r18 1670: 08 f4 brcc .+2 ; 0x1674 <__ftoa_engine+0x142> 1672: 20 2f mov r18, r16 1674: 23 95 inc r18 1676: 02 2f mov r16, r18 1678: 7a 33 cpi r23, 0x3A ; 58 167a: 28 f0 brcs .+10 ; 0x1686 <__ftoa_engine+0x154> 167c: 79 e3 ldi r23, 0x39 ; 57 167e: 7d 93 st X+, r23 1680: 2a 95 dec r18 1682: e9 f7 brne .-6 ; 0x167e <__ftoa_engine+0x14c> 1684: 10 c0 rjmp .+32 ; 0x16a6 <__ftoa_engine+0x174> 1686: 7d 93 st X+, r23 1688: 2a 95 dec r18 168a: 89 f6 brne .-94 ; 0x162e <__ftoa_engine+0xfc> 168c: 06 94 lsr r0 168e: 97 95 ror r25 1690: 67 95 ror r22 1692: 37 95 ror r19 1694: 17 95 ror r17 1696: 17 94 ror r1 1698: e1 18 sub r14, r1 169a: f1 0a sbc r15, r17 169c: 43 0b sbc r20, r19 169e: 56 0b sbc r21, r22 16a0: c9 0b sbc r28, r25 16a2: d0 09 sbc r29, r0 16a4: 98 f0 brcs .+38 ; 0x16cc <__ftoa_engine+0x19a> 16a6: 23 95 inc r18 16a8: 7e 91 ld r23, -X 16aa: 73 95 inc r23 16ac: 7a 33 cpi r23, 0x3A ; 58 16ae: 08 f0 brcs .+2 ; 0x16b2 <__ftoa_engine+0x180> 16b0: 70 e3 ldi r23, 0x30 ; 48 16b2: 7c 93 st X, r23 16b4: 20 13 cpse r18, r16 16b6: b8 f7 brcc .-18 ; 0x16a6 <__ftoa_engine+0x174> 16b8: 7e 91 ld r23, -X 16ba: 70 61 ori r23, 0x10 ; 16 16bc: 7d 93 st X+, r23 16be: 30 f0 brcs .+12 ; 0x16cc <__ftoa_engine+0x19a> 16c0: 83 95 inc r24 16c2: 71 e3 ldi r23, 0x31 ; 49 16c4: 7d 93 st X+, r23 16c6: 70 e3 ldi r23, 0x30 ; 48 16c8: 2a 95 dec r18 16ca: e1 f7 brne .-8 ; 0x16c4 <__ftoa_engine+0x192> 16cc: 11 24 eor r1, r1 16ce: ef 90 pop r14 16d0: ff 90 pop r15 16d2: 0f 91 pop r16 16d4: 1f 91 pop r17 16d6: cf 91 pop r28 16d8: df 91 pop r29 16da: 99 27 eor r25, r25 16dc: 87 fd sbrc r24, 7 16de: 90 95 com r25 16e0: 08 95 ret 000016e2 : 16e2: fc 01 movw r30, r24 16e4: 05 90 lpm r0, Z+ 16e6: 61 50 subi r22, 0x01 ; 1 16e8: 70 40 sbci r23, 0x00 ; 0 16ea: 01 10 cpse r0, r1 16ec: d8 f7 brcc .-10 ; 0x16e4 16ee: 80 95 com r24 16f0: 90 95 com r25 16f2: 8e 0f add r24, r30 16f4: 9f 1f adc r25, r31 16f6: 08 95 ret 000016f8 : 16f8: fc 01 movw r30, r24 16fa: 61 50 subi r22, 0x01 ; 1 16fc: 70 40 sbci r23, 0x00 ; 0 16fe: 01 90 ld r0, Z+ 1700: 01 10 cpse r0, r1 1702: d8 f7 brcc .-10 ; 0x16fa 1704: 80 95 com r24 1706: 90 95 com r25 1708: 8e 0f add r24, r30 170a: 9f 1f adc r25, r31 170c: 08 95 ret 0000170e : 170e: 0f 93 push r16 1710: 1f 93 push r17 1712: cf 93 push r28 1714: df 93 push r29 1716: 18 2f mov r17, r24 1718: 09 2f mov r16, r25 171a: eb 01 movw r28, r22 171c: 8b 81 ldd r24, Y+3 ; 0x03 171e: 81 fd sbrc r24, 1 1720: 03 c0 rjmp .+6 ; 0x1728 1722: 8f ef ldi r24, 0xFF ; 255 1724: 9f ef ldi r25, 0xFF ; 255 1726: 20 c0 rjmp .+64 ; 0x1768 1728: 82 ff sbrs r24, 2 172a: 10 c0 rjmp .+32 ; 0x174c 172c: 4e 81 ldd r20, Y+6 ; 0x06 172e: 5f 81 ldd r21, Y+7 ; 0x07 1730: 2c 81 ldd r18, Y+4 ; 0x04 1732: 3d 81 ldd r19, Y+5 ; 0x05 1734: 42 17 cp r20, r18 1736: 53 07 cpc r21, r19 1738: 7c f4 brge .+30 ; 0x1758 173a: e8 81 ld r30, Y 173c: f9 81 ldd r31, Y+1 ; 0x01 173e: 9f 01 movw r18, r30 1740: 2f 5f subi r18, 0xFF ; 255 1742: 3f 4f sbci r19, 0xFF ; 255 1744: 39 83 std Y+1, r19 ; 0x01 1746: 28 83 st Y, r18 1748: 10 83 st Z, r17 174a: 06 c0 rjmp .+12 ; 0x1758 174c: e8 85 ldd r30, Y+8 ; 0x08 174e: f9 85 ldd r31, Y+9 ; 0x09 1750: 81 2f mov r24, r17 1752: 09 95 icall 1754: 89 2b or r24, r25 1756: 29 f7 brne .-54 ; 0x1722 1758: 2e 81 ldd r18, Y+6 ; 0x06 175a: 3f 81 ldd r19, Y+7 ; 0x07 175c: 2f 5f subi r18, 0xFF ; 255 175e: 3f 4f sbci r19, 0xFF ; 255 1760: 3f 83 std Y+7, r19 ; 0x07 1762: 2e 83 std Y+6, r18 ; 0x06 1764: 81 2f mov r24, r17 1766: 90 2f mov r25, r16 1768: df 91 pop r29 176a: cf 91 pop r28 176c: 1f 91 pop r17 176e: 0f 91 pop r16 1770: 08 95 ret 00001772 : 1772: a0 e0 ldi r26, 0x00 ; 0 1774: b0 e0 ldi r27, 0x00 ; 0 1776: ef eb ldi r30, 0xBF ; 191 1778: fb e0 ldi r31, 0x0B ; 11 177a: 0c 94 68 0a jmp 0x14d0 ; 0x14d0 <__prologue_saves__+0xc> 177e: 6b 01 movw r12, r22 1780: 4a 01 movw r8, r20 1782: 79 01 movw r14, r18 1784: d9 01 movw r26, r18 1786: 13 96 adiw r26, 0x03 ; 3 1788: 2c 91 ld r18, X 178a: 21 ff sbrs r18, 1 178c: 1d c0 rjmp .+58 ; 0x17c8 178e: c0 e0 ldi r28, 0x00 ; 0 1790: d0 e0 ldi r29, 0x00 ; 0 1792: c8 15 cp r28, r8 1794: d9 05 cpc r29, r9 1796: d9 f0 breq .+54 ; 0x17ce 1798: 8c 01 movw r16, r24 179a: 5c 01 movw r10, r24 179c: ac 0c add r10, r12 179e: bd 1c adc r11, r13 17a0: c8 01 movw r24, r16 17a2: 0a 15 cp r16, r10 17a4: 1b 05 cpc r17, r11 17a6: 71 f0 breq .+28 ; 0x17c4 17a8: 0f 5f subi r16, 0xFF ; 255 17aa: 1f 4f sbci r17, 0xFF ; 255 17ac: d7 01 movw r26, r14 17ae: 18 96 adiw r26, 0x08 ; 8 17b0: ed 91 ld r30, X+ 17b2: fc 91 ld r31, X 17b4: 19 97 sbiw r26, 0x09 ; 9 17b6: b7 01 movw r22, r14 17b8: dc 01 movw r26, r24 17ba: 8c 91 ld r24, X 17bc: 09 95 icall 17be: 89 2b or r24, r25 17c0: 79 f3 breq .-34 ; 0x17a0 17c2: 05 c0 rjmp .+10 ; 0x17ce 17c4: 21 96 adiw r28, 0x01 ; 1 17c6: e5 cf rjmp .-54 ; 0x1792 17c8: 80 e0 ldi r24, 0x00 ; 0 17ca: 90 e0 ldi r25, 0x00 ; 0 17cc: 01 c0 rjmp .+2 ; 0x17d0 17ce: ce 01 movw r24, r28 17d0: cd b7 in r28, 0x3d ; 61 17d2: de b7 in r29, 0x3e ; 62 17d4: ec e0 ldi r30, 0x0C ; 12 17d6: 0c 94 84 0a jmp 0x1508 ; 0x1508 <__epilogue_restores__+0xc> 000017da : 17da: 0f 93 push r16 17dc: 1f 93 push r17 17de: cf 93 push r28 17e0: df 93 push r29 17e2: e0 91 d6 01 lds r30, 0x01D6 17e6: f0 91 d7 01 lds r31, 0x01D7 17ea: 23 81 ldd r18, Z+3 ; 0x03 17ec: 21 ff sbrs r18, 1 17ee: 1b c0 rjmp .+54 ; 0x1826 17f0: ec 01 movw r28, r24 17f2: 00 e0 ldi r16, 0x00 ; 0 17f4: 10 e0 ldi r17, 0x00 ; 0 17f6: 89 91 ld r24, Y+ 17f8: 60 91 d6 01 lds r22, 0x01D6 17fc: 70 91 d7 01 lds r23, 0x01D7 1800: db 01 movw r26, r22 1802: 18 96 adiw r26, 0x08 ; 8 1804: ed 91 ld r30, X+ 1806: fc 91 ld r31, X 1808: 19 97 sbiw r26, 0x09 ; 9 180a: 88 23 and r24, r24 180c: 31 f0 breq .+12 ; 0x181a 180e: 09 95 icall 1810: 89 2b or r24, r25 1812: 89 f3 breq .-30 ; 0x17f6 1814: 0f ef ldi r16, 0xFF ; 255 1816: 1f ef ldi r17, 0xFF ; 255 1818: ee cf rjmp .-36 ; 0x17f6 181a: 8a e0 ldi r24, 0x0A ; 10 181c: 09 95 icall 181e: 89 2b or r24, r25 1820: 11 f4 brne .+4 ; 0x1826 1822: c8 01 movw r24, r16 1824: 02 c0 rjmp .+4 ; 0x182a 1826: 8f ef ldi r24, 0xFF ; 255 1828: 9f ef ldi r25, 0xFF ; 255 182a: df 91 pop r29 182c: cf 91 pop r28 182e: 1f 91 pop r17 1830: 0f 91 pop r16 1832: 08 95 ret 00001834 <__ultoa_invert>: 1834: fa 01 movw r30, r20 1836: aa 27 eor r26, r26 1838: 28 30 cpi r18, 0x08 ; 8 183a: 51 f1 breq .+84 ; 0x1890 <__ultoa_invert+0x5c> 183c: 20 31 cpi r18, 0x10 ; 16 183e: 81 f1 breq .+96 ; 0x18a0 <__ultoa_invert+0x6c> 1840: e8 94 clt 1842: 6f 93 push r22 1844: 6e 7f andi r22, 0xFE ; 254 1846: 6e 5f subi r22, 0xFE ; 254 1848: 7f 4f sbci r23, 0xFF ; 255 184a: 8f 4f sbci r24, 0xFF ; 255 184c: 9f 4f sbci r25, 0xFF ; 255 184e: af 4f sbci r26, 0xFF ; 255 1850: b1 e0 ldi r27, 0x01 ; 1 1852: 3e d0 rcall .+124 ; 0x18d0 <__ultoa_invert+0x9c> 1854: b4 e0 ldi r27, 0x04 ; 4 1856: 3c d0 rcall .+120 ; 0x18d0 <__ultoa_invert+0x9c> 1858: 67 0f add r22, r23 185a: 78 1f adc r23, r24 185c: 89 1f adc r24, r25 185e: 9a 1f adc r25, r26 1860: a1 1d adc r26, r1 1862: 68 0f add r22, r24 1864: 79 1f adc r23, r25 1866: 8a 1f adc r24, r26 1868: 91 1d adc r25, r1 186a: a1 1d adc r26, r1 186c: 6a 0f add r22, r26 186e: 71 1d adc r23, r1 1870: 81 1d adc r24, r1 1872: 91 1d adc r25, r1 1874: a1 1d adc r26, r1 1876: 20 d0 rcall .+64 ; 0x18b8 <__ultoa_invert+0x84> 1878: 09 f4 brne .+2 ; 0x187c <__ultoa_invert+0x48> 187a: 68 94 set 187c: 3f 91 pop r19 187e: 2a e0 ldi r18, 0x0A ; 10 1880: 26 9f mul r18, r22 1882: 11 24 eor r1, r1 1884: 30 19 sub r19, r0 1886: 30 5d subi r19, 0xD0 ; 208 1888: 31 93 st Z+, r19 188a: de f6 brtc .-74 ; 0x1842 <__ultoa_invert+0xe> 188c: cf 01 movw r24, r30 188e: 08 95 ret 1890: 46 2f mov r20, r22 1892: 47 70 andi r20, 0x07 ; 7 1894: 40 5d subi r20, 0xD0 ; 208 1896: 41 93 st Z+, r20 1898: b3 e0 ldi r27, 0x03 ; 3 189a: 0f d0 rcall .+30 ; 0x18ba <__ultoa_invert+0x86> 189c: c9 f7 brne .-14 ; 0x1890 <__ultoa_invert+0x5c> 189e: f6 cf rjmp .-20 ; 0x188c <__ultoa_invert+0x58> 18a0: 46 2f mov r20, r22 18a2: 4f 70 andi r20, 0x0F ; 15 18a4: 40 5d subi r20, 0xD0 ; 208 18a6: 4a 33 cpi r20, 0x3A ; 58 18a8: 18 f0 brcs .+6 ; 0x18b0 <__ultoa_invert+0x7c> 18aa: 49 5d subi r20, 0xD9 ; 217 18ac: 31 fd sbrc r19, 1 18ae: 40 52 subi r20, 0x20 ; 32 18b0: 41 93 st Z+, r20 18b2: 02 d0 rcall .+4 ; 0x18b8 <__ultoa_invert+0x84> 18b4: a9 f7 brne .-22 ; 0x18a0 <__ultoa_invert+0x6c> 18b6: ea cf rjmp .-44 ; 0x188c <__ultoa_invert+0x58> 18b8: b4 e0 ldi r27, 0x04 ; 4 18ba: a6 95 lsr r26 18bc: 97 95 ror r25 18be: 87 95 ror r24 18c0: 77 95 ror r23 18c2: 67 95 ror r22 18c4: ba 95 dec r27 18c6: c9 f7 brne .-14 ; 0x18ba <__ultoa_invert+0x86> 18c8: 00 97 sbiw r24, 0x00 ; 0 18ca: 61 05 cpc r22, r1 18cc: 71 05 cpc r23, r1 18ce: 08 95 ret 18d0: 9b 01 movw r18, r22 18d2: ac 01 movw r20, r24 18d4: 0a 2e mov r0, r26 18d6: 06 94 lsr r0 18d8: 57 95 ror r21 18da: 47 95 ror r20 18dc: 37 95 ror r19 18de: 27 95 ror r18 18e0: ba 95 dec r27 18e2: c9 f7 brne .-14 ; 0x18d6 <__ultoa_invert+0xa2> 18e4: 62 0f add r22, r18 18e6: 73 1f adc r23, r19 18e8: 84 1f adc r24, r20 18ea: 95 1f adc r25, r21 18ec: a0 1d adc r26, r0 18ee: 08 95 ret 000018f0 <_exit>: 18f0: f8 94 cli 000018f2 <__stop_program>: 18f2: ff cf rjmp .-2 ; 0x18f2 <__stop_program>