main.elf: file format elf32-avr Sections: Idx Name Size VMA LMA File off Algn 0 .data 00000024 00800100 000009d6 00000a6a 2**0 CONTENTS, ALLOC, LOAD, DATA 1 .text 000009d6 00000000 00000000 00000094 2**1 CONTENTS, ALLOC, LOAD, READONLY, CODE 2 .bss 0000024e 00800124 00800124 00000a8e 2**0 ALLOC 3 .stab 00000f0c 00000000 00000000 00000a90 2**2 CONTENTS, READONLY, DEBUGGING 4 .stabstr 00000257 00000000 00000000 0000199c 2**0 CONTENTS, READONLY, DEBUGGING 5 .debug_aranges 000001a8 00000000 00000000 00001bf8 2**3 CONTENTS, READONLY, DEBUGGING 6 .debug_info 000012d9 00000000 00000000 00001da0 2**0 CONTENTS, READONLY, DEBUGGING 7 .debug_abbrev 00000873 00000000 00000000 00003079 2**0 CONTENTS, READONLY, DEBUGGING 8 .debug_line 00000969 00000000 00000000 000038ec 2**0 CONTENTS, READONLY, DEBUGGING 9 .debug_frame 00000238 00000000 00000000 00004258 2**2 CONTENTS, READONLY, DEBUGGING 10 .debug_str 000002f7 00000000 00000000 00004490 2**0 CONTENTS, READONLY, DEBUGGING 11 .debug_loc 00000972 00000000 00000000 00004787 2**0 CONTENTS, READONLY, DEBUGGING 12 .debug_ranges 00000090 00000000 00000000 000050f9 2**0 CONTENTS, READONLY, DEBUGGING Disassembly of section .text: 00000000 <__vectors>: 0: 0c 94 34 00 jmp 0x68 ; 0x68 <__ctors_end> 4: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt> 8: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt> c: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt> 10: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt> 14: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt> 18: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt> 1c: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt> 20: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt> 24: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt> 28: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt> 2c: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt> 30: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt> 34: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt> 38: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt> 3c: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt> 40: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt> 44: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt> 48: 0c 94 b4 00 jmp 0x168 ; 0x168 <__vector_18> 4c: 0c 94 f4 00 jmp 0x1e8 ; 0x1e8 <__vector_19> 50: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt> 54: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt> 58: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt> 5c: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt> 60: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt> 64: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt> 00000068 <__ctors_end>: 68: 11 24 eor r1, r1 6a: 1f be out 0x3f, r1 ; 63 6c: cf ef ldi r28, 0xFF ; 255 6e: d8 e0 ldi r29, 0x08 ; 8 70: de bf out 0x3e, r29 ; 62 72: cd bf out 0x3d, r28 ; 61 00000074 <__do_copy_data>: 74: 11 e0 ldi r17, 0x01 ; 1 76: a0 e0 ldi r26, 0x00 ; 0 78: b1 e0 ldi r27, 0x01 ; 1 7a: e6 ed ldi r30, 0xD6 ; 214 7c: f9 e0 ldi r31, 0x09 ; 9 7e: 02 c0 rjmp .+4 ; 0x84 <__do_copy_data+0x10> 80: 05 90 lpm r0, Z+ 82: 0d 92 st X+, r0 84: a4 32 cpi r26, 0x24 ; 36 86: b1 07 cpc r27, r17 88: d9 f7 brne .-10 ; 0x80 <__do_copy_data+0xc> 0000008a <__do_clear_bss>: 8a: 13 e0 ldi r17, 0x03 ; 3 8c: a4 e2 ldi r26, 0x24 ; 36 8e: b1 e0 ldi r27, 0x01 ; 1 90: 01 c0 rjmp .+2 ; 0x94 <.do_clear_bss_start> 00000092 <.do_clear_bss_loop>: 92: 1d 92 st X+, r1 00000094 <.do_clear_bss_start>: 94: a2 37 cpi r26, 0x72 ; 114 96: b1 07 cpc r27, r17 98: e1 f7 brne .-8 ; 0x92 <.do_clear_bss_loop> 9a: 0e 94 53 01 call 0x2a6 ; 0x2a6
9e: 0c 94 e9 04 jmp 0x9d2 ; 0x9d2 <_exit> 000000a2 <__bad_interrupt>: a2: 0c 94 00 00 jmp 0 ; 0x0 <__vectors> 000000a6 : static void init(void) { } /* Assumes MSB first. */ void shift_out(uint8_t data) { spi_transfer(data); a6: 0e 94 43 01 call 0x286 ; 0x286 } aa: 08 95 ret 000000ac : /* http://www.cs.mun.ca/~rod/Winter2007/4723/notes/serial/serial.html */ void uart_init(void) { tx_buffer.start = 0; ac: 10 92 25 03 sts 0x0325, r1 b0: 10 92 24 03 sts 0x0324, r1 tx_buffer.end = 0; b4: 10 92 27 03 sts 0x0327, r1 b8: 10 92 26 03 sts 0x0326, r1 rx_buffer.start = 0; bc: 10 92 69 03 sts 0x0369, r1 c0: 10 92 68 03 sts 0x0368, r1 rx_buffer.end = 0; c4: 10 92 6b 03 sts 0x036B, r1 c8: 10 92 6a 03 sts 0x036A, r1 UBRR0H = UBRRH_VALUE; cc: 10 92 c5 00 sts 0x00C5, r1 UBRR0L = UBRRL_VALUE; d0: 87 e6 ldi r24, 0x67 ; 103 d2: 80 93 c4 00 sts 0x00C4, r24 UCSR0C = _BV(UCSZ01) | _BV(UCSZ00); /* 8-bit data */ d6: 86 e0 ldi r24, 0x06 ; 6 d8: 80 93 c2 00 sts 0x00C2, r24 UCSR0B = _BV(RXEN0) | _BV(TXEN0); /* Enable RX and TX */ dc: 88 e1 ldi r24, 0x18 ; 24 de: 80 93 c1 00 sts 0x00C1, r24 sei(); e2: 78 94 sei } e4: 08 95 ret 000000e6 : int uart_putchar(char c, FILE *stream) { e6: 1f 93 push r17 e8: 18 2f mov r17, r24 if (c == '\n') { ea: 8a 30 cpi r24, 0x0A ; 10 ec: 19 f4 brne .+6 ; 0xf4 uart_putchar('\r', stream); ee: 8d e0 ldi r24, 0x0D ; 13 f0: 0e 94 73 00 call 0xe6 ; 0xe6 } int write_pointer = (tx_buffer.end + 1) % UART_TX_BUFFER_SIZE; f4: 20 91 26 03 lds r18, 0x0326 f8: 30 91 27 03 lds r19, 0x0327 fc: c9 01 movw r24, r18 fe: 01 96 adiw r24, 0x01 ; 1 100: 60 e0 ldi r22, 0x00 ; 0 102: 71 e0 ldi r23, 0x01 ; 1 104: 0e 94 c5 01 call 0x38a ; 0x38a <__divmodhi4> if (write_pointer != tx_buffer.start){ 108: 40 91 24 03 lds r20, 0x0324 10c: 50 91 25 03 lds r21, 0x0325 110: 84 17 cp r24, r20 112: 95 07 cpc r25, r21 114: 81 f0 breq .+32 ; 0x136 tx_buffer.buffer[tx_buffer.end] = c; 116: f9 01 movw r30, r18 118: ee 0f add r30, r30 11a: ff 1f adc r31, r31 11c: ec 5d subi r30, 0xDC ; 220 11e: fe 4f sbci r31, 0xFE ; 254 120: 10 83 st Z, r17 122: 11 82 std Z+1, r1 ; 0x01 tx_buffer.end = write_pointer; 124: 90 93 27 03 sts 0x0327, r25 128: 80 93 26 03 sts 0x0326, r24 /* Data available. Enable the transmit interrupt for serial port 0. */ UCSR0B |= _BV(UDRIE0); 12c: 80 91 c1 00 lds r24, 0x00C1 130: 80 62 ori r24, 0x20 ; 32 132: 80 93 c1 00 sts 0x00C1, r24 } return 0; } 136: 80 e0 ldi r24, 0x00 ; 0 138: 90 e0 ldi r25, 0x00 ; 0 13a: 1f 91 pop r17 13c: 08 95 ret 0000013e : int uart_getchar(FILE *stream) { int read_pointer = (rx_buffer.start + 1) % UART_RX_BUFFER_SIZE; 13e: 80 91 68 03 lds r24, 0x0368 142: 90 91 69 03 lds r25, 0x0369 146: 01 96 adiw r24, 0x01 ; 1 148: 60 e2 ldi r22, 0x20 ; 32 14a: 70 e0 ldi r23, 0x00 ; 0 14c: 0e 94 c5 01 call 0x38a ; 0x38a <__divmodhi4> rx_buffer.start = read_pointer; 150: 90 93 69 03 sts 0x0369, r25 154: 80 93 68 03 sts 0x0368, r24 return rx_buffer.buffer[read_pointer]; 158: fc 01 movw r30, r24 15a: ee 0f add r30, r30 15c: ff 1f adc r31, r31 15e: e8 5d subi r30, 0xD8 ; 216 160: fc 4f sbci r31, 0xFC ; 252 } 162: 80 81 ld r24, Z 164: 91 81 ldd r25, Z+1 ; 0x01 166: 08 95 ret 00000168 <__vector_18>: ISR(USART_RX_vect) { 168: 1f 92 push r1 16a: 0f 92 push r0 16c: 0f b6 in r0, 0x3f ; 63 16e: 0f 92 push r0 170: 11 24 eor r1, r1 172: 2f 93 push r18 174: 3f 93 push r19 176: 4f 93 push r20 178: 5f 93 push r21 17a: 6f 93 push r22 17c: 7f 93 push r23 17e: 8f 93 push r24 180: 9f 93 push r25 182: af 93 push r26 184: bf 93 push r27 186: ef 93 push r30 188: ff 93 push r31 int write_pointer = (rx_buffer.end + 1) % UART_RX_BUFFER_SIZE; 18a: 20 91 6a 03 lds r18, 0x036A 18e: 30 91 6b 03 lds r19, 0x036B 192: c9 01 movw r24, r18 194: 01 96 adiw r24, 0x01 ; 1 196: 60 e2 ldi r22, 0x20 ; 32 198: 70 e0 ldi r23, 0x00 ; 0 19a: 0e 94 c5 01 call 0x38a ; 0x38a <__divmodhi4> /* Add next byte to ringbuffer if it has space available. */ if (write_pointer != rx_buffer.start){ 19e: 40 91 68 03 lds r20, 0x0368 1a2: 50 91 69 03 lds r21, 0x0369 1a6: 84 17 cp r24, r20 1a8: 95 07 cpc r25, r21 1aa: 69 f0 breq .+26 ; 0x1c6 <__vector_18+0x5e> rx_buffer.buffer[rx_buffer.end] = UDR0; 1ac: 40 91 c6 00 lds r20, 0x00C6 1b0: f9 01 movw r30, r18 1b2: ee 0f add r30, r30 1b4: ff 1f adc r31, r31 1b6: e8 5d subi r30, 0xD8 ; 216 1b8: fc 4f sbci r31, 0xFC ; 252 1ba: 40 83 st Z, r20 1bc: 11 82 std Z+1, r1 ; 0x01 rx_buffer.end = write_pointer; 1be: 90 93 6b 03 sts 0x036B, r25 1c2: 80 93 6a 03 sts 0x036A, r24 } } 1c6: ff 91 pop r31 1c8: ef 91 pop r30 1ca: bf 91 pop r27 1cc: af 91 pop r26 1ce: 9f 91 pop r25 1d0: 8f 91 pop r24 1d2: 7f 91 pop r23 1d4: 6f 91 pop r22 1d6: 5f 91 pop r21 1d8: 4f 91 pop r20 1da: 3f 91 pop r19 1dc: 2f 91 pop r18 1de: 0f 90 pop r0 1e0: 0f be out 0x3f, r0 ; 63 1e2: 0f 90 pop r0 1e4: 1f 90 pop r1 1e6: 18 95 reti 000001e8 <__vector_19>: ISR(USART_UDRE_vect){ 1e8: 1f 92 push r1 1ea: 0f 92 push r0 1ec: 0f b6 in r0, 0x3f ; 63 1ee: 0f 92 push r0 1f0: 11 24 eor r1, r1 1f2: 2f 93 push r18 1f4: 3f 93 push r19 1f6: 5f 93 push r21 1f8: 6f 93 push r22 1fa: 7f 93 push r23 1fc: 8f 93 push r24 1fe: 9f 93 push r25 200: af 93 push r26 202: bf 93 push r27 204: ef 93 push r30 206: ff 93 push r31 int read_pointer = (tx_buffer.start + 1) % UART_TX_BUFFER_SIZE; 208: 80 91 24 03 lds r24, 0x0324 20c: 90 91 25 03 lds r25, 0x0325 210: 01 96 adiw r24, 0x01 ; 1 212: 60 e0 ldi r22, 0x00 ; 0 214: 71 e0 ldi r23, 0x01 ; 1 216: 0e 94 c5 01 call 0x38a ; 0x38a <__divmodhi4> /* Transmit next byte if data available in ringbuffer. */ if (read_pointer != tx_buffer.end) { 21a: 20 91 26 03 lds r18, 0x0326 21e: 30 91 27 03 lds r19, 0x0327 222: 82 17 cp r24, r18 224: 93 07 cpc r25, r19 226: 69 f0 breq .+26 ; 0x242 <__vector_19+0x5a> UDR0 = tx_buffer.buffer[read_pointer]; 228: fc 01 movw r30, r24 22a: ee 0f add r30, r30 22c: ff 1f adc r31, r31 22e: ec 5d subi r30, 0xDC ; 220 230: fe 4f sbci r31, 0xFE ; 254 232: 20 81 ld r18, Z 234: 20 93 c6 00 sts 0x00C6, r18 tx_buffer.start = read_pointer; 238: 90 93 25 03 sts 0x0325, r25 23c: 80 93 24 03 sts 0x0324, r24 240: 05 c0 rjmp .+10 ; 0x24c <__vector_19+0x64> } else { /* Nothing to send. Disable the transmit interrupt for serial port 0. */ UCSR0B &= ~_BV(UDRIE0); 242: 80 91 c1 00 lds r24, 0x00C1 246: 8f 7d andi r24, 0xDF ; 223 248: 80 93 c1 00 sts 0x00C1, r24 } } 24c: ff 91 pop r31 24e: ef 91 pop r30 250: bf 91 pop r27 252: af 91 pop r26 254: 9f 91 pop r25 256: 8f 91 pop r24 258: 7f 91 pop r23 25a: 6f 91 pop r22 25c: 5f 91 pop r21 25e: 3f 91 pop r19 260: 2f 91 pop r18 262: 0f 90 pop r0 264: 0f be out 0x3f, r0 ; 63 266: 0f 90 pop r0 268: 1f 90 pop r1 26a: 18 95 reti 0000026c : #include "digital.h" #include "spi.h" void spi_init(void) { pin_mode(SPI_SCK, OUTPUT); 26c: 25 9a sbi 0x04, 5 ; 4 pin_mode(SPI_MOSI, OUTPUT); 26e: 23 9a sbi 0x04, 3 ; 4 pin_mode(SPI_SS, OUTPUT); /* Must be output in Master mode. */ 270: 22 9a sbi 0x04, 2 ; 4 spi_set_msb(); 272: 8c b5 in r24, 0x2c ; 44 274: 8f 7d andi r24, 0xDF ; 223 276: 8c bd out 0x2c, r24 ; 44 spi_set_master(); 278: 8c b5 in r24, 0x2c ; 44 27a: 80 61 ori r24, 0x10 ; 16 27c: 8c bd out 0x2c, r24 ; 44 spi_enable(); 27e: 8c b5 in r24, 0x2c ; 44 280: 80 64 ori r24, 0x40 ; 64 282: 8c bd out 0x2c, r24 ; 44 } 284: 08 95 ret 00000286 : uint8_t spi_transfer(volatile uint8_t data) { 286: cf 93 push r28 288: df 93 push r29 28a: 0f 92 push r0 28c: cd b7 in r28, 0x3d ; 61 28e: de b7 in r29, 0x3e ; 62 290: 89 83 std Y+1, r24 ; 0x01 SPDR = data; 292: 89 81 ldd r24, Y+1 ; 0x01 294: 8e bd out 0x2e, r24 ; 46 loop_until_bit_is_set(SPSR, SPIF); 296: 0d b4 in r0, 0x2d ; 45 298: 07 fe sbrs r0, 7 29a: fd cf rjmp .-6 ; 0x296 return SPDR; 29c: 8e b5 in r24, 0x2e ; 46 29e: 0f 90 pop r0 2a0: df 91 pop r29 2a2: cf 91 pop r28 2a4: 08 95 ret 000002a6
: int main(void) { 2a6: cf 93 push r28 2a8: df 93 push r29 2aa: cd b7 in r28, 0x3d ; 61 2ac: de b7 in r29, 0x3e ; 62 2ae: 61 97 sbiw r28, 0x11 ; 17 2b0: 0f b6 in r0, 0x3f ; 63 2b2: f8 94 cli 2b4: de bf out 0x3e, r29 ; 62 2b6: 0f be out 0x3f, r0 ; 63 2b8: cd bf out 0x3d, r28 ; 61 init(); uart_init(); 2ba: 0e 94 56 00 call 0xac ; 0xac spi_init(); 2be: 0e 94 36 01 call 0x26c ; 0x26c stdout = &uart_output; 2c2: 86 e1 ldi r24, 0x16 ; 22 2c4: 91 e0 ldi r25, 0x01 ; 1 2c6: 90 93 6f 03 sts 0x036F, r25 2ca: 80 93 6e 03 sts 0x036E, r24 stdin = &uart_input; 2ce: 88 e0 ldi r24, 0x08 ; 8 2d0: 91 e0 ldi r25, 0x01 ; 1 2d2: 90 93 6d 03 sts 0x036D, r25 2d6: 80 93 6c 03 sts 0x036C, r24 char binary[17]; /* Show pattern for 5 seconds. */ shift_out(0b10101010); 2da: 8a ea ldi r24, 0xAA ; 170 2dc: 0e 94 53 00 call 0xa6 ; 0xa6 shift_out(0b11110000); 2e0: 80 ef ldi r24, 0xF0 ; 240 2e2: 0e 94 53 00 call 0xa6 ; 0xa6 digital_write(SPI_SS, LOW); 2e6: 2a 98 cbi 0x05, 2 ; 5 digital_write(SPI_SS, HIGH); 2e8: 2a 9a sbi 0x05, 2 ; 5 2ea: 80 e5 ldi r24, 0x50 ; 80 2ec: 93 ec ldi r25, 0xC3 ; 195 milliseconds can be achieved. */ void _delay_loop_2(uint16_t __count) { __asm__ volatile ( 2ee: 20 e9 ldi r18, 0x90 ; 144 2f0: 31 e0 ldi r19, 0x01 ; 1 2f2: f9 01 movw r30, r18 2f4: 31 97 sbiw r30, 0x01 ; 1 2f6: f1 f7 brne .-4 ; 0x2f4 2f8: 01 97 sbiw r24, 0x01 ; 1 __ticks = 1; else if (__tmp > 65535) { // __ticks = requested delay in 1/10 ms __ticks = (uint16_t) (__ms * 10.0); while(__ticks) 2fa: d9 f7 brne .-10 ; 0x2f2 2fc: 00 e0 ldi r16, 0x00 ; 0 2fe: 10 e0 ldi r17, 0x00 ; 0 while (1) { for(uint16_t i = 0; i < 0xffff; i++) { /* Print the number to serial for debugging. */ itoa(i, binary, 2); 300: 7e 01 movw r14, r28 302: 08 94 sec 304: e1 1c adc r14, r1 306: f1 1c adc r15, r1 printf("%s %d \n", binary, i); 308: 80 e0 ldi r24, 0x00 ; 0 30a: c8 2e mov r12, r24 30c: 81 e0 ldi r24, 0x01 ; 1 30e: d8 2e mov r13, r24 310: 90 e9 ldi r25, 0x90 ; 144 312: a9 2e mov r10, r25 314: 91 e0 ldi r25, 0x01 ; 1 316: b9 2e mov r11, r25 while (1) { for(uint16_t i = 0; i < 0xffff; i++) { /* Print the number to serial for debugging. */ itoa(i, binary, 2); 318: c8 01 movw r24, r16 31a: b7 01 movw r22, r14 31c: 42 e0 ldi r20, 0x02 ; 2 31e: 50 e0 ldi r21, 0x00 ; 0 320: 0e 94 ec 01 call 0x3d8 ; 0x3d8 printf("%s %d \n", binary, i); 324: 00 d0 rcall .+0 ; 0x326 326: 00 d0 rcall .+0 ; 0x328 328: 00 d0 rcall .+0 ; 0x32a 32a: ed b7 in r30, 0x3d ; 61 32c: fe b7 in r31, 0x3e ; 62 32e: 31 96 adiw r30, 0x01 ; 1 330: ad b7 in r26, 0x3d ; 61 332: be b7 in r27, 0x3e ; 62 334: 12 96 adiw r26, 0x02 ; 2 336: dc 92 st X, r13 338: ce 92 st -X, r12 33a: 11 97 sbiw r26, 0x01 ; 1 33c: f3 82 std Z+3, r15 ; 0x03 33e: e2 82 std Z+2, r14 ; 0x02 340: 15 83 std Z+5, r17 ; 0x05 342: 04 83 std Z+4, r16 ; 0x04 344: 0e 94 0d 02 call 0x41a ; 0x41a /* Shift high byte first to shift register. */ shift_out(i >> 8); 348: 8d b7 in r24, 0x3d ; 61 34a: 9e b7 in r25, 0x3e ; 62 34c: 06 96 adiw r24, 0x06 ; 6 34e: 0f b6 in r0, 0x3f ; 63 350: f8 94 cli 352: 9e bf out 0x3e, r25 ; 62 354: 0f be out 0x3f, r0 ; 63 356: 8d bf out 0x3d, r24 ; 61 358: 81 2f mov r24, r17 35a: 0e 94 53 00 call 0xa6 ; 0xa6 shift_out(i & 0xff); 35e: 80 2f mov r24, r16 360: 0e 94 53 00 call 0xa6 ; 0xa6 /* Pulse latch to transfer data from shift registers */ /* to storage registers. */ //digital_write(LATCH, LOW); //digital_write(LATCH, HIGH); digital_write(SPI_SS, LOW); 364: 2a 98 cbi 0x05, 2 ; 5 digital_write(SPI_SS, HIGH); 366: 2a 9a sbi 0x05, 2 ; 5 368: 24 ef ldi r18, 0xF4 ; 244 36a: 31 e0 ldi r19, 0x01 ; 1 36c: c5 01 movw r24, r10 36e: 01 97 sbiw r24, 0x01 ; 1 370: f1 f7 brne .-4 ; 0x36e 372: 21 50 subi r18, 0x01 ; 1 374: 30 40 sbci r19, 0x00 ; 0 376: d1 f7 brne .-12 ; 0x36c digital_write(SPI_SS, LOW); digital_write(SPI_SS, HIGH); _delay_ms(5000); while (1) { for(uint16_t i = 0; i < 0xffff; i++) { 378: 0f 5f subi r16, 0xFF ; 255 37a: 1f 4f sbci r17, 0xFF ; 255 37c: 9f ef ldi r25, 0xFF ; 255 37e: 0f 3f cpi r16, 0xFF ; 255 380: 19 07 cpc r17, r25 382: 51 f6 brne .-108 ; 0x318 384: 00 e0 ldi r16, 0x00 ; 0 386: 10 e0 ldi r17, 0x00 ; 0 388: c7 cf rjmp .-114 ; 0x318 0000038a <__divmodhi4>: 38a: 97 fb bst r25, 7 38c: 09 2e mov r0, r25 38e: 07 26 eor r0, r23 390: 0a d0 rcall .+20 ; 0x3a6 <__divmodhi4_neg1> 392: 77 fd sbrc r23, 7 394: 04 d0 rcall .+8 ; 0x39e <__divmodhi4_neg2> 396: 0c d0 rcall .+24 ; 0x3b0 <__udivmodhi4> 398: 06 d0 rcall .+12 ; 0x3a6 <__divmodhi4_neg1> 39a: 00 20 and r0, r0 39c: 1a f4 brpl .+6 ; 0x3a4 <__divmodhi4_exit> 0000039e <__divmodhi4_neg2>: 39e: 70 95 com r23 3a0: 61 95 neg r22 3a2: 7f 4f sbci r23, 0xFF ; 255 000003a4 <__divmodhi4_exit>: 3a4: 08 95 ret 000003a6 <__divmodhi4_neg1>: 3a6: f6 f7 brtc .-4 ; 0x3a4 <__divmodhi4_exit> 3a8: 90 95 com r25 3aa: 81 95 neg r24 3ac: 9f 4f sbci r25, 0xFF ; 255 3ae: 08 95 ret 000003b0 <__udivmodhi4>: 3b0: aa 1b sub r26, r26 3b2: bb 1b sub r27, r27 3b4: 51 e1 ldi r21, 0x11 ; 17 3b6: 07 c0 rjmp .+14 ; 0x3c6 <__udivmodhi4_ep> 000003b8 <__udivmodhi4_loop>: 3b8: aa 1f adc r26, r26 3ba: bb 1f adc r27, r27 3bc: a6 17 cp r26, r22 3be: b7 07 cpc r27, r23 3c0: 10 f0 brcs .+4 ; 0x3c6 <__udivmodhi4_ep> 3c2: a6 1b sub r26, r22 3c4: b7 0b sbc r27, r23 000003c6 <__udivmodhi4_ep>: 3c6: 88 1f adc r24, r24 3c8: 99 1f adc r25, r25 3ca: 5a 95 dec r21 3cc: a9 f7 brne .-22 ; 0x3b8 <__udivmodhi4_loop> 3ce: 80 95 com r24 3d0: 90 95 com r25 3d2: bc 01 movw r22, r24 3d4: cd 01 movw r24, r26 3d6: 08 95 ret 000003d8 : 3d8: fb 01 movw r30, r22 3da: 9f 01 movw r18, r30 3dc: e8 94 clt 3de: 42 30 cpi r20, 0x02 ; 2 3e0: c4 f0 brlt .+48 ; 0x412 3e2: 45 32 cpi r20, 0x25 ; 37 3e4: b4 f4 brge .+44 ; 0x412 3e6: 4a 30 cpi r20, 0x0A ; 10 3e8: 29 f4 brne .+10 ; 0x3f4 3ea: 97 fb bst r25, 7 3ec: 1e f4 brtc .+6 ; 0x3f4 3ee: 90 95 com r25 3f0: 81 95 neg r24 3f2: 9f 4f sbci r25, 0xFF ; 255 3f4: 64 2f mov r22, r20 3f6: 77 27 eor r23, r23 3f8: 0e 94 d8 01 call 0x3b0 ; 0x3b0 <__udivmodhi4> 3fc: 80 5d subi r24, 0xD0 ; 208 3fe: 8a 33 cpi r24, 0x3A ; 58 400: 0c f0 brlt .+2 ; 0x404 402: 89 5d subi r24, 0xD9 ; 217 404: 81 93 st Z+, r24 406: cb 01 movw r24, r22 408: 00 97 sbiw r24, 0x00 ; 0 40a: a1 f7 brne .-24 ; 0x3f4 40c: 16 f4 brtc .+4 ; 0x412 40e: 5d e2 ldi r21, 0x2D ; 45 410: 51 93 st Z+, r21 412: 10 82 st Z, r1 414: c9 01 movw r24, r18 416: 0c 94 18 04 jmp 0x830 ; 0x830 0000041a : 41a: a0 e0 ldi r26, 0x00 ; 0 41c: b0 e0 ldi r27, 0x00 ; 0 41e: e3 e1 ldi r30, 0x13 ; 19 420: f2 e0 ldi r31, 0x02 ; 2 422: 0c 94 c2 04 jmp 0x984 ; 0x984 <__prologue_saves__+0x20> 426: fe 01 movw r30, r28 428: 35 96 adiw r30, 0x05 ; 5 42a: 61 91 ld r22, Z+ 42c: 71 91 ld r23, Z+ 42e: 80 91 6e 03 lds r24, 0x036E 432: 90 91 6f 03 lds r25, 0x036F 436: af 01 movw r20, r30 438: 0e 94 22 02 call 0x444 ; 0x444 43c: 20 96 adiw r28, 0x00 ; 0 43e: e2 e0 ldi r30, 0x02 ; 2 440: 0c 94 de 04 jmp 0x9bc ; 0x9bc <__epilogue_restores__+0x20> 00000444 : 444: ad e0 ldi r26, 0x0D ; 13 446: b0 e0 ldi r27, 0x00 ; 0 448: e8 e2 ldi r30, 0x28 ; 40 44a: f2 e0 ldi r31, 0x02 ; 2 44c: 0c 94 b2 04 jmp 0x964 ; 0x964 <__prologue_saves__> 450: 3c 01 movw r6, r24 452: 7d 87 std Y+13, r23 ; 0x0d 454: 6c 87 std Y+12, r22 ; 0x0c 456: 5a 01 movw r10, r20 458: fc 01 movw r30, r24 45a: 17 82 std Z+7, r1 ; 0x07 45c: 16 82 std Z+6, r1 ; 0x06 45e: 83 81 ldd r24, Z+3 ; 0x03 460: 81 ff sbrs r24, 1 462: ca c1 rjmp .+916 ; 0x7f8 464: 3f e3 ldi r19, 0x3F ; 63 466: c3 2e mov r12, r19 468: 2e 01 movw r4, r28 46a: 08 94 sec 46c: 41 1c adc r4, r1 46e: 51 1c adc r5, r1 470: f3 01 movw r30, r6 472: 93 81 ldd r25, Z+3 ; 0x03 474: ec 85 ldd r30, Y+12 ; 0x0c 476: fd 85 ldd r31, Y+13 ; 0x0d 478: 93 fd sbrc r25, 3 47a: 85 91 lpm r24, Z+ 47c: 93 ff sbrs r25, 3 47e: 81 91 ld r24, Z+ 480: fd 87 std Y+13, r31 ; 0x0d 482: ec 87 std Y+12, r30 ; 0x0c 484: 88 23 and r24, r24 486: 09 f4 brne .+2 ; 0x48a 488: b3 c1 rjmp .+870 ; 0x7f0 48a: 85 32 cpi r24, 0x25 ; 37 48c: 41 f4 brne .+16 ; 0x49e 48e: 93 fd sbrc r25, 3 490: 85 91 lpm r24, Z+ 492: 93 ff sbrs r25, 3 494: 81 91 ld r24, Z+ 496: fd 87 std Y+13, r31 ; 0x0d 498: ec 87 std Y+12, r30 ; 0x0c 49a: 85 32 cpi r24, 0x25 ; 37 49c: 29 f4 brne .+10 ; 0x4a8 49e: 90 e0 ldi r25, 0x00 ; 0 4a0: b3 01 movw r22, r6 4a2: 0e 94 28 04 call 0x850 ; 0x850 4a6: e4 cf rjmp .-56 ; 0x470 4a8: ee 24 eor r14, r14 4aa: dd 24 eor r13, r13 4ac: 10 e0 ldi r17, 0x00 ; 0 4ae: 10 32 cpi r17, 0x20 ; 32 4b0: b0 f4 brcc .+44 ; 0x4de 4b2: 8b 32 cpi r24, 0x2B ; 43 4b4: 69 f0 breq .+26 ; 0x4d0 4b6: 8c 32 cpi r24, 0x2C ; 44 4b8: 28 f4 brcc .+10 ; 0x4c4 4ba: 80 32 cpi r24, 0x20 ; 32 4bc: 51 f0 breq .+20 ; 0x4d2 4be: 83 32 cpi r24, 0x23 ; 35 4c0: 71 f4 brne .+28 ; 0x4de 4c2: 0b c0 rjmp .+22 ; 0x4da 4c4: 8d 32 cpi r24, 0x2D ; 45 4c6: 39 f0 breq .+14 ; 0x4d6 4c8: 80 33 cpi r24, 0x30 ; 48 4ca: 49 f4 brne .+18 ; 0x4de 4cc: 11 60 ori r17, 0x01 ; 1 4ce: 2c c0 rjmp .+88 ; 0x528 4d0: 12 60 ori r17, 0x02 ; 2 4d2: 14 60 ori r17, 0x04 ; 4 4d4: 29 c0 rjmp .+82 ; 0x528 4d6: 18 60 ori r17, 0x08 ; 8 4d8: 27 c0 rjmp .+78 ; 0x528 4da: 10 61 ori r17, 0x10 ; 16 4dc: 25 c0 rjmp .+74 ; 0x528 4de: 17 fd sbrc r17, 7 4e0: 2e c0 rjmp .+92 ; 0x53e 4e2: 28 2f mov r18, r24 4e4: 20 53 subi r18, 0x30 ; 48 4e6: 2a 30 cpi r18, 0x0A ; 10 4e8: 98 f4 brcc .+38 ; 0x510 4ea: 16 ff sbrs r17, 6 4ec: 08 c0 rjmp .+16 ; 0x4fe 4ee: 8e 2d mov r24, r14 4f0: 88 0f add r24, r24 4f2: e8 2e mov r14, r24 4f4: ee 0c add r14, r14 4f6: ee 0c add r14, r14 4f8: e8 0e add r14, r24 4fa: e2 0e add r14, r18 4fc: 15 c0 rjmp .+42 ; 0x528 4fe: 8d 2d mov r24, r13 500: 88 0f add r24, r24 502: d8 2e mov r13, r24 504: dd 0c add r13, r13 506: dd 0c add r13, r13 508: d8 0e add r13, r24 50a: d2 0e add r13, r18 50c: 10 62 ori r17, 0x20 ; 32 50e: 0c c0 rjmp .+24 ; 0x528 510: 8e 32 cpi r24, 0x2E ; 46 512: 21 f4 brne .+8 ; 0x51c 514: 16 fd sbrc r17, 6 516: 6c c1 rjmp .+728 ; 0x7f0 518: 10 64 ori r17, 0x40 ; 64 51a: 06 c0 rjmp .+12 ; 0x528 51c: 8c 36 cpi r24, 0x6C ; 108 51e: 11 f4 brne .+4 ; 0x524 520: 10 68 ori r17, 0x80 ; 128 522: 02 c0 rjmp .+4 ; 0x528 524: 88 36 cpi r24, 0x68 ; 104 526: 59 f4 brne .+22 ; 0x53e 528: ec 85 ldd r30, Y+12 ; 0x0c 52a: fd 85 ldd r31, Y+13 ; 0x0d 52c: 93 fd sbrc r25, 3 52e: 85 91 lpm r24, Z+ 530: 93 ff sbrs r25, 3 532: 81 91 ld r24, Z+ 534: fd 87 std Y+13, r31 ; 0x0d 536: ec 87 std Y+12, r30 ; 0x0c 538: 88 23 and r24, r24 53a: 09 f0 breq .+2 ; 0x53e 53c: b8 cf rjmp .-144 ; 0x4ae 53e: 98 2f mov r25, r24 540: 95 54 subi r25, 0x45 ; 69 542: 93 30 cpi r25, 0x03 ; 3 544: 18 f0 brcs .+6 ; 0x54c 546: 90 52 subi r25, 0x20 ; 32 548: 93 30 cpi r25, 0x03 ; 3 54a: 30 f4 brcc .+12 ; 0x558 54c: 24 e0 ldi r18, 0x04 ; 4 54e: 30 e0 ldi r19, 0x00 ; 0 550: a2 0e add r10, r18 552: b3 1e adc r11, r19 554: c9 82 std Y+1, r12 ; 0x01 556: 0f c0 rjmp .+30 ; 0x576 558: 83 36 cpi r24, 0x63 ; 99 55a: 31 f0 breq .+12 ; 0x568 55c: 83 37 cpi r24, 0x73 ; 115 55e: 81 f0 breq .+32 ; 0x580 560: 83 35 cpi r24, 0x53 ; 83 562: 09 f0 breq .+2 ; 0x566 564: 5a c0 rjmp .+180 ; 0x61a 566: 22 c0 rjmp .+68 ; 0x5ac 568: f5 01 movw r30, r10 56a: 80 81 ld r24, Z 56c: 89 83 std Y+1, r24 ; 0x01 56e: 22 e0 ldi r18, 0x02 ; 2 570: 30 e0 ldi r19, 0x00 ; 0 572: a2 0e add r10, r18 574: b3 1e adc r11, r19 576: 21 e0 ldi r18, 0x01 ; 1 578: e2 2e mov r14, r18 57a: f1 2c mov r15, r1 57c: 42 01 movw r8, r4 57e: 14 c0 rjmp .+40 ; 0x5a8 580: 92 e0 ldi r25, 0x02 ; 2 582: 29 2e mov r2, r25 584: 31 2c mov r3, r1 586: 2a 0c add r2, r10 588: 3b 1c adc r3, r11 58a: f5 01 movw r30, r10 58c: 80 80 ld r8, Z 58e: 91 80 ldd r9, Z+1 ; 0x01 590: 16 ff sbrs r17, 6 592: 03 c0 rjmp .+6 ; 0x59a 594: 6e 2d mov r22, r14 596: 70 e0 ldi r23, 0x00 ; 0 598: 02 c0 rjmp .+4 ; 0x59e 59a: 6f ef ldi r22, 0xFF ; 255 59c: 7f ef ldi r23, 0xFF ; 255 59e: c4 01 movw r24, r8 5a0: 0e 94 0d 04 call 0x81a ; 0x81a 5a4: 7c 01 movw r14, r24 5a6: 51 01 movw r10, r2 5a8: 1f 77 andi r17, 0x7F ; 127 5aa: 15 c0 rjmp .+42 ; 0x5d6 5ac: 82 e0 ldi r24, 0x02 ; 2 5ae: 28 2e mov r2, r24 5b0: 31 2c mov r3, r1 5b2: 2a 0c add r2, r10 5b4: 3b 1c adc r3, r11 5b6: f5 01 movw r30, r10 5b8: 80 80 ld r8, Z 5ba: 91 80 ldd r9, Z+1 ; 0x01 5bc: 16 ff sbrs r17, 6 5be: 03 c0 rjmp .+6 ; 0x5c6 5c0: 6e 2d mov r22, r14 5c2: 70 e0 ldi r23, 0x00 ; 0 5c4: 02 c0 rjmp .+4 ; 0x5ca 5c6: 6f ef ldi r22, 0xFF ; 255 5c8: 7f ef ldi r23, 0xFF ; 255 5ca: c4 01 movw r24, r8 5cc: 0e 94 02 04 call 0x804 ; 0x804 5d0: 7c 01 movw r14, r24 5d2: 10 68 ori r17, 0x80 ; 128 5d4: 51 01 movw r10, r2 5d6: 13 fd sbrc r17, 3 5d8: 1c c0 rjmp .+56 ; 0x612 5da: 06 c0 rjmp .+12 ; 0x5e8 5dc: 80 e2 ldi r24, 0x20 ; 32 5de: 90 e0 ldi r25, 0x00 ; 0 5e0: b3 01 movw r22, r6 5e2: 0e 94 28 04 call 0x850 ; 0x850 5e6: da 94 dec r13 5e8: 8d 2d mov r24, r13 5ea: 90 e0 ldi r25, 0x00 ; 0 5ec: e8 16 cp r14, r24 5ee: f9 06 cpc r15, r25 5f0: a8 f3 brcs .-22 ; 0x5dc 5f2: 0f c0 rjmp .+30 ; 0x612 5f4: f4 01 movw r30, r8 5f6: 17 fd sbrc r17, 7 5f8: 85 91 lpm r24, Z+ 5fa: 17 ff sbrs r17, 7 5fc: 81 91 ld r24, Z+ 5fe: 4f 01 movw r8, r30 600: 90 e0 ldi r25, 0x00 ; 0 602: b3 01 movw r22, r6 604: 0e 94 28 04 call 0x850 ; 0x850 608: d1 10 cpse r13, r1 60a: da 94 dec r13 60c: 08 94 sec 60e: e1 08 sbc r14, r1 610: f1 08 sbc r15, r1 612: e1 14 cp r14, r1 614: f1 04 cpc r15, r1 616: 71 f7 brne .-36 ; 0x5f4 618: e8 c0 rjmp .+464 ; 0x7ea 61a: 84 36 cpi r24, 0x64 ; 100 61c: 11 f0 breq .+4 ; 0x622 61e: 89 36 cpi r24, 0x69 ; 105 620: 59 f5 brne .+86 ; 0x678 622: f5 01 movw r30, r10 624: 17 ff sbrs r17, 7 626: 07 c0 rjmp .+14 ; 0x636 628: 80 81 ld r24, Z 62a: 91 81 ldd r25, Z+1 ; 0x01 62c: a2 81 ldd r26, Z+2 ; 0x02 62e: b3 81 ldd r27, Z+3 ; 0x03 630: 24 e0 ldi r18, 0x04 ; 4 632: 30 e0 ldi r19, 0x00 ; 0 634: 09 c0 rjmp .+18 ; 0x648 636: 60 81 ld r22, Z 638: 71 81 ldd r23, Z+1 ; 0x01 63a: cb 01 movw r24, r22 63c: aa 27 eor r26, r26 63e: 97 fd sbrc r25, 7 640: a0 95 com r26 642: ba 2f mov r27, r26 644: 22 e0 ldi r18, 0x02 ; 2 646: 30 e0 ldi r19, 0x00 ; 0 648: a2 0e add r10, r18 64a: b3 1e adc r11, r19 64c: 01 2f mov r16, r17 64e: 0f 76 andi r16, 0x6F ; 111 650: b7 ff sbrs r27, 7 652: 08 c0 rjmp .+16 ; 0x664 654: b0 95 com r27 656: a0 95 com r26 658: 90 95 com r25 65a: 81 95 neg r24 65c: 9f 4f sbci r25, 0xFF ; 255 65e: af 4f sbci r26, 0xFF ; 255 660: bf 4f sbci r27, 0xFF ; 255 662: 00 68 ori r16, 0x80 ; 128 664: bc 01 movw r22, r24 666: cd 01 movw r24, r26 668: a2 01 movw r20, r4 66a: 2a e0 ldi r18, 0x0A ; 10 66c: 30 e0 ldi r19, 0x00 ; 0 66e: 0e 94 54 04 call 0x8a8 ; 0x8a8 <__ultoa_invert> 672: f8 2e mov r15, r24 674: f4 18 sub r15, r4 676: 3f c0 rjmp .+126 ; 0x6f6 678: 85 37 cpi r24, 0x75 ; 117 67a: 21 f4 brne .+8 ; 0x684 67c: 1f 7e andi r17, 0xEF ; 239 67e: 2a e0 ldi r18, 0x0A ; 10 680: 30 e0 ldi r19, 0x00 ; 0 682: 20 c0 rjmp .+64 ; 0x6c4 684: 19 7f andi r17, 0xF9 ; 249 686: 8f 36 cpi r24, 0x6F ; 111 688: a9 f0 breq .+42 ; 0x6b4 68a: 80 37 cpi r24, 0x70 ; 112 68c: 20 f4 brcc .+8 ; 0x696 68e: 88 35 cpi r24, 0x58 ; 88 690: 09 f0 breq .+2 ; 0x694 692: ae c0 rjmp .+348 ; 0x7f0 694: 0b c0 rjmp .+22 ; 0x6ac 696: 80 37 cpi r24, 0x70 ; 112 698: 21 f0 breq .+8 ; 0x6a2 69a: 88 37 cpi r24, 0x78 ; 120 69c: 09 f0 breq .+2 ; 0x6a0 69e: a8 c0 rjmp .+336 ; 0x7f0 6a0: 01 c0 rjmp .+2 ; 0x6a4 6a2: 10 61 ori r17, 0x10 ; 16 6a4: 14 ff sbrs r17, 4 6a6: 09 c0 rjmp .+18 ; 0x6ba 6a8: 14 60 ori r17, 0x04 ; 4 6aa: 07 c0 rjmp .+14 ; 0x6ba 6ac: 14 ff sbrs r17, 4 6ae: 08 c0 rjmp .+16 ; 0x6c0 6b0: 16 60 ori r17, 0x06 ; 6 6b2: 06 c0 rjmp .+12 ; 0x6c0 6b4: 28 e0 ldi r18, 0x08 ; 8 6b6: 30 e0 ldi r19, 0x00 ; 0 6b8: 05 c0 rjmp .+10 ; 0x6c4 6ba: 20 e1 ldi r18, 0x10 ; 16 6bc: 30 e0 ldi r19, 0x00 ; 0 6be: 02 c0 rjmp .+4 ; 0x6c4 6c0: 20 e1 ldi r18, 0x10 ; 16 6c2: 32 e0 ldi r19, 0x02 ; 2 6c4: f5 01 movw r30, r10 6c6: 17 ff sbrs r17, 7 6c8: 07 c0 rjmp .+14 ; 0x6d8 6ca: 60 81 ld r22, Z 6cc: 71 81 ldd r23, Z+1 ; 0x01 6ce: 82 81 ldd r24, Z+2 ; 0x02 6d0: 93 81 ldd r25, Z+3 ; 0x03 6d2: 44 e0 ldi r20, 0x04 ; 4 6d4: 50 e0 ldi r21, 0x00 ; 0 6d6: 06 c0 rjmp .+12 ; 0x6e4 6d8: 60 81 ld r22, Z 6da: 71 81 ldd r23, Z+1 ; 0x01 6dc: 80 e0 ldi r24, 0x00 ; 0 6de: 90 e0 ldi r25, 0x00 ; 0 6e0: 42 e0 ldi r20, 0x02 ; 2 6e2: 50 e0 ldi r21, 0x00 ; 0 6e4: a4 0e add r10, r20 6e6: b5 1e adc r11, r21 6e8: a2 01 movw r20, r4 6ea: 0e 94 54 04 call 0x8a8 ; 0x8a8 <__ultoa_invert> 6ee: f8 2e mov r15, r24 6f0: f4 18 sub r15, r4 6f2: 01 2f mov r16, r17 6f4: 0f 77 andi r16, 0x7F ; 127 6f6: 06 ff sbrs r16, 6 6f8: 09 c0 rjmp .+18 ; 0x70c 6fa: 0e 7f andi r16, 0xFE ; 254 6fc: fe 14 cp r15, r14 6fe: 30 f4 brcc .+12 ; 0x70c 700: 04 ff sbrs r16, 4 702: 06 c0 rjmp .+12 ; 0x710 704: 02 fd sbrc r16, 2 706: 04 c0 rjmp .+8 ; 0x710 708: 0f 7e andi r16, 0xEF ; 239 70a: 02 c0 rjmp .+4 ; 0x710 70c: 1f 2d mov r17, r15 70e: 01 c0 rjmp .+2 ; 0x712 710: 1e 2d mov r17, r14 712: 80 2f mov r24, r16 714: 90 e0 ldi r25, 0x00 ; 0 716: 04 ff sbrs r16, 4 718: 0c c0 rjmp .+24 ; 0x732 71a: fe 01 movw r30, r28 71c: ef 0d add r30, r15 71e: f1 1d adc r31, r1 720: 20 81 ld r18, Z 722: 20 33 cpi r18, 0x30 ; 48 724: 11 f4 brne .+4 ; 0x72a 726: 09 7e andi r16, 0xE9 ; 233 728: 09 c0 rjmp .+18 ; 0x73c 72a: 02 ff sbrs r16, 2 72c: 06 c0 rjmp .+12 ; 0x73a 72e: 1e 5f subi r17, 0xFE ; 254 730: 05 c0 rjmp .+10 ; 0x73c 732: 86 78 andi r24, 0x86 ; 134 734: 90 70 andi r25, 0x00 ; 0 736: 00 97 sbiw r24, 0x00 ; 0 738: 09 f0 breq .+2 ; 0x73c 73a: 1f 5f subi r17, 0xFF ; 255 73c: 80 2e mov r8, r16 73e: 99 24 eor r9, r9 740: 03 fd sbrc r16, 3 742: 12 c0 rjmp .+36 ; 0x768 744: 00 ff sbrs r16, 0 746: 0d c0 rjmp .+26 ; 0x762 748: ef 2c mov r14, r15 74a: 1d 15 cp r17, r13 74c: 50 f4 brcc .+20 ; 0x762 74e: ed 0c add r14, r13 750: e1 1a sub r14, r17 752: 1d 2d mov r17, r13 754: 06 c0 rjmp .+12 ; 0x762 756: 80 e2 ldi r24, 0x20 ; 32 758: 90 e0 ldi r25, 0x00 ; 0 75a: b3 01 movw r22, r6 75c: 0e 94 28 04 call 0x850 ; 0x850 760: 1f 5f subi r17, 0xFF ; 255 762: 1d 15 cp r17, r13 764: c0 f3 brcs .-16 ; 0x756 766: 04 c0 rjmp .+8 ; 0x770 768: 1d 15 cp r17, r13 76a: 10 f4 brcc .+4 ; 0x770 76c: d1 1a sub r13, r17 76e: 01 c0 rjmp .+2 ; 0x772 770: dd 24 eor r13, r13 772: 84 fe sbrs r8, 4 774: 0f c0 rjmp .+30 ; 0x794 776: 80 e3 ldi r24, 0x30 ; 48 778: 90 e0 ldi r25, 0x00 ; 0 77a: b3 01 movw r22, r6 77c: 0e 94 28 04 call 0x850 ; 0x850 780: 82 fe sbrs r8, 2 782: 1f c0 rjmp .+62 ; 0x7c2 784: 81 fe sbrs r8, 1 786: 03 c0 rjmp .+6 ; 0x78e 788: 88 e5 ldi r24, 0x58 ; 88 78a: 90 e0 ldi r25, 0x00 ; 0 78c: 10 c0 rjmp .+32 ; 0x7ae 78e: 88 e7 ldi r24, 0x78 ; 120 790: 90 e0 ldi r25, 0x00 ; 0 792: 0d c0 rjmp .+26 ; 0x7ae 794: c4 01 movw r24, r8 796: 86 78 andi r24, 0x86 ; 134 798: 90 70 andi r25, 0x00 ; 0 79a: 00 97 sbiw r24, 0x00 ; 0 79c: 91 f0 breq .+36 ; 0x7c2 79e: 81 fc sbrc r8, 1 7a0: 02 c0 rjmp .+4 ; 0x7a6 7a2: 80 e2 ldi r24, 0x20 ; 32 7a4: 01 c0 rjmp .+2 ; 0x7a8 7a6: 8b e2 ldi r24, 0x2B ; 43 7a8: 07 fd sbrc r16, 7 7aa: 8d e2 ldi r24, 0x2D ; 45 7ac: 90 e0 ldi r25, 0x00 ; 0 7ae: b3 01 movw r22, r6 7b0: 0e 94 28 04 call 0x850 ; 0x850 7b4: 06 c0 rjmp .+12 ; 0x7c2 7b6: 80 e3 ldi r24, 0x30 ; 48 7b8: 90 e0 ldi r25, 0x00 ; 0 7ba: b3 01 movw r22, r6 7bc: 0e 94 28 04 call 0x850 ; 0x850 7c0: ea 94 dec r14 7c2: fe 14 cp r15, r14 7c4: c0 f3 brcs .-16 ; 0x7b6 7c6: fa 94 dec r15 7c8: f2 01 movw r30, r4 7ca: ef 0d add r30, r15 7cc: f1 1d adc r31, r1 7ce: 80 81 ld r24, Z 7d0: 90 e0 ldi r25, 0x00 ; 0 7d2: b3 01 movw r22, r6 7d4: 0e 94 28 04 call 0x850 ; 0x850 7d8: ff 20 and r15, r15 7da: a9 f7 brne .-22 ; 0x7c6 7dc: 06 c0 rjmp .+12 ; 0x7ea 7de: 80 e2 ldi r24, 0x20 ; 32 7e0: 90 e0 ldi r25, 0x00 ; 0 7e2: b3 01 movw r22, r6 7e4: 0e 94 28 04 call 0x850 ; 0x850 7e8: da 94 dec r13 7ea: dd 20 and r13, r13 7ec: c1 f7 brne .-16 ; 0x7de 7ee: 40 ce rjmp .-896 ; 0x470 7f0: f3 01 movw r30, r6 7f2: 86 81 ldd r24, Z+6 ; 0x06 7f4: 97 81 ldd r25, Z+7 ; 0x07 7f6: 02 c0 rjmp .+4 ; 0x7fc 7f8: 8f ef ldi r24, 0xFF ; 255 7fa: 9f ef ldi r25, 0xFF ; 255 7fc: 2d 96 adiw r28, 0x0d ; 13 7fe: e2 e1 ldi r30, 0x12 ; 18 800: 0c 94 ce 04 jmp 0x99c ; 0x99c <__epilogue_restores__> 00000804 : 804: fc 01 movw r30, r24 806: 05 90 lpm r0, Z+ 808: 61 50 subi r22, 0x01 ; 1 80a: 70 40 sbci r23, 0x00 ; 0 80c: 01 10 cpse r0, r1 80e: d8 f7 brcc .-10 ; 0x806 810: 80 95 com r24 812: 90 95 com r25 814: 8e 0f add r24, r30 816: 9f 1f adc r25, r31 818: 08 95 ret 0000081a : 81a: fc 01 movw r30, r24 81c: 61 50 subi r22, 0x01 ; 1 81e: 70 40 sbci r23, 0x00 ; 0 820: 01 90 ld r0, Z+ 822: 01 10 cpse r0, r1 824: d8 f7 brcc .-10 ; 0x81c 826: 80 95 com r24 828: 90 95 com r25 82a: 8e 0f add r24, r30 82c: 9f 1f adc r25, r31 82e: 08 95 ret 00000830 : 830: dc 01 movw r26, r24 832: fc 01 movw r30, r24 834: 67 2f mov r22, r23 836: 71 91 ld r23, Z+ 838: 77 23 and r23, r23 83a: e1 f7 brne .-8 ; 0x834 83c: 32 97 sbiw r30, 0x02 ; 2 83e: 04 c0 rjmp .+8 ; 0x848 840: 7c 91 ld r23, X 842: 6d 93 st X+, r22 844: 70 83 st Z, r23 846: 62 91 ld r22, -Z 848: ae 17 cp r26, r30 84a: bf 07 cpc r27, r31 84c: c8 f3 brcs .-14 ; 0x840 84e: 08 95 ret 00000850 : 850: 0f 93 push r16 852: 1f 93 push r17 854: cf 93 push r28 856: df 93 push r29 858: 8c 01 movw r16, r24 85a: eb 01 movw r28, r22 85c: 8b 81 ldd r24, Y+3 ; 0x03 85e: 81 ff sbrs r24, 1 860: 1b c0 rjmp .+54 ; 0x898 862: 82 ff sbrs r24, 2 864: 0d c0 rjmp .+26 ; 0x880 866: 2e 81 ldd r18, Y+6 ; 0x06 868: 3f 81 ldd r19, Y+7 ; 0x07 86a: 8c 81 ldd r24, Y+4 ; 0x04 86c: 9d 81 ldd r25, Y+5 ; 0x05 86e: 28 17 cp r18, r24 870: 39 07 cpc r19, r25 872: 64 f4 brge .+24 ; 0x88c 874: e8 81 ld r30, Y 876: f9 81 ldd r31, Y+1 ; 0x01 878: 01 93 st Z+, r16 87a: f9 83 std Y+1, r31 ; 0x01 87c: e8 83 st Y, r30 87e: 06 c0 rjmp .+12 ; 0x88c 880: e8 85 ldd r30, Y+8 ; 0x08 882: f9 85 ldd r31, Y+9 ; 0x09 884: 80 2f mov r24, r16 886: 09 95 icall 888: 00 97 sbiw r24, 0x00 ; 0 88a: 31 f4 brne .+12 ; 0x898 88c: 8e 81 ldd r24, Y+6 ; 0x06 88e: 9f 81 ldd r25, Y+7 ; 0x07 890: 01 96 adiw r24, 0x01 ; 1 892: 9f 83 std Y+7, r25 ; 0x07 894: 8e 83 std Y+6, r24 ; 0x06 896: 02 c0 rjmp .+4 ; 0x89c 898: 0f ef ldi r16, 0xFF ; 255 89a: 1f ef ldi r17, 0xFF ; 255 89c: c8 01 movw r24, r16 89e: df 91 pop r29 8a0: cf 91 pop r28 8a2: 1f 91 pop r17 8a4: 0f 91 pop r16 8a6: 08 95 ret 000008a8 <__ultoa_invert>: 8a8: fa 01 movw r30, r20 8aa: aa 27 eor r26, r26 8ac: 28 30 cpi r18, 0x08 ; 8 8ae: 51 f1 breq .+84 ; 0x904 <__stack+0x5> 8b0: 20 31 cpi r18, 0x10 ; 16 8b2: 81 f1 breq .+96 ; 0x914 <__stack+0x15> 8b4: e8 94 clt 8b6: 6f 93 push r22 8b8: 6e 7f andi r22, 0xFE ; 254 8ba: 6e 5f subi r22, 0xFE ; 254 8bc: 7f 4f sbci r23, 0xFF ; 255 8be: 8f 4f sbci r24, 0xFF ; 255 8c0: 9f 4f sbci r25, 0xFF ; 255 8c2: af 4f sbci r26, 0xFF ; 255 8c4: b1 e0 ldi r27, 0x01 ; 1 8c6: 3e d0 rcall .+124 ; 0x944 <__stack+0x45> 8c8: b4 e0 ldi r27, 0x04 ; 4 8ca: 3c d0 rcall .+120 ; 0x944 <__stack+0x45> 8cc: 67 0f add r22, r23 8ce: 78 1f adc r23, r24 8d0: 89 1f adc r24, r25 8d2: 9a 1f adc r25, r26 8d4: a1 1d adc r26, r1 8d6: 68 0f add r22, r24 8d8: 79 1f adc r23, r25 8da: 8a 1f adc r24, r26 8dc: 91 1d adc r25, r1 8de: a1 1d adc r26, r1 8e0: 6a 0f add r22, r26 8e2: 71 1d adc r23, r1 8e4: 81 1d adc r24, r1 8e6: 91 1d adc r25, r1 8e8: a1 1d adc r26, r1 8ea: 20 d0 rcall .+64 ; 0x92c <__stack+0x2d> 8ec: 09 f4 brne .+2 ; 0x8f0 <__ultoa_invert+0x48> 8ee: 68 94 set 8f0: 3f 91 pop r19 8f2: 2a e0 ldi r18, 0x0A ; 10 8f4: 26 9f mul r18, r22 8f6: 11 24 eor r1, r1 8f8: 30 19 sub r19, r0 8fa: 30 5d subi r19, 0xD0 ; 208 8fc: 31 93 st Z+, r19 8fe: de f6 brtc .-74 ; 0x8b6 <__ultoa_invert+0xe> 900: cf 01 movw r24, r30 902: 08 95 ret 904: 46 2f mov r20, r22 906: 47 70 andi r20, 0x07 ; 7 908: 40 5d subi r20, 0xD0 ; 208 90a: 41 93 st Z+, r20 90c: b3 e0 ldi r27, 0x03 ; 3 90e: 0f d0 rcall .+30 ; 0x92e <__stack+0x2f> 910: c9 f7 brne .-14 ; 0x904 <__stack+0x5> 912: f6 cf rjmp .-20 ; 0x900 <__stack+0x1> 914: 46 2f mov r20, r22 916: 4f 70 andi r20, 0x0F ; 15 918: 40 5d subi r20, 0xD0 ; 208 91a: 4a 33 cpi r20, 0x3A ; 58 91c: 18 f0 brcs .+6 ; 0x924 <__stack+0x25> 91e: 49 5d subi r20, 0xD9 ; 217 920: 31 fd sbrc r19, 1 922: 40 52 subi r20, 0x20 ; 32 924: 41 93 st Z+, r20 926: 02 d0 rcall .+4 ; 0x92c <__stack+0x2d> 928: a9 f7 brne .-22 ; 0x914 <__stack+0x15> 92a: ea cf rjmp .-44 ; 0x900 <__stack+0x1> 92c: b4 e0 ldi r27, 0x04 ; 4 92e: a6 95 lsr r26 930: 97 95 ror r25 932: 87 95 ror r24 934: 77 95 ror r23 936: 67 95 ror r22 938: ba 95 dec r27 93a: c9 f7 brne .-14 ; 0x92e <__stack+0x2f> 93c: 00 97 sbiw r24, 0x00 ; 0 93e: 61 05 cpc r22, r1 940: 71 05 cpc r23, r1 942: 08 95 ret 944: 9b 01 movw r18, r22 946: ac 01 movw r20, r24 948: 0a 2e mov r0, r26 94a: 06 94 lsr r0 94c: 57 95 ror r21 94e: 47 95 ror r20 950: 37 95 ror r19 952: 27 95 ror r18 954: ba 95 dec r27 956: c9 f7 brne .-14 ; 0x94a <__stack+0x4b> 958: 62 0f add r22, r18 95a: 73 1f adc r23, r19 95c: 84 1f adc r24, r20 95e: 95 1f adc r25, r21 960: a0 1d adc r26, r0 962: 08 95 ret 00000964 <__prologue_saves__>: 964: 2f 92 push r2 966: 3f 92 push r3 968: 4f 92 push r4 96a: 5f 92 push r5 96c: 6f 92 push r6 96e: 7f 92 push r7 970: 8f 92 push r8 972: 9f 92 push r9 974: af 92 push r10 976: bf 92 push r11 978: cf 92 push r12 97a: df 92 push r13 97c: ef 92 push r14 97e: ff 92 push r15 980: 0f 93 push r16 982: 1f 93 push r17 984: cf 93 push r28 986: df 93 push r29 988: cd b7 in r28, 0x3d ; 61 98a: de b7 in r29, 0x3e ; 62 98c: ca 1b sub r28, r26 98e: db 0b sbc r29, r27 990: 0f b6 in r0, 0x3f ; 63 992: f8 94 cli 994: de bf out 0x3e, r29 ; 62 996: 0f be out 0x3f, r0 ; 63 998: cd bf out 0x3d, r28 ; 61 99a: 09 94 ijmp 0000099c <__epilogue_restores__>: 99c: 2a 88 ldd r2, Y+18 ; 0x12 99e: 39 88 ldd r3, Y+17 ; 0x11 9a0: 48 88 ldd r4, Y+16 ; 0x10 9a2: 5f 84 ldd r5, Y+15 ; 0x0f 9a4: 6e 84 ldd r6, Y+14 ; 0x0e 9a6: 7d 84 ldd r7, Y+13 ; 0x0d 9a8: 8c 84 ldd r8, Y+12 ; 0x0c 9aa: 9b 84 ldd r9, Y+11 ; 0x0b 9ac: aa 84 ldd r10, Y+10 ; 0x0a 9ae: b9 84 ldd r11, Y+9 ; 0x09 9b0: c8 84 ldd r12, Y+8 ; 0x08 9b2: df 80 ldd r13, Y+7 ; 0x07 9b4: ee 80 ldd r14, Y+6 ; 0x06 9b6: fd 80 ldd r15, Y+5 ; 0x05 9b8: 0c 81 ldd r16, Y+4 ; 0x04 9ba: 1b 81 ldd r17, Y+3 ; 0x03 9bc: aa 81 ldd r26, Y+2 ; 0x02 9be: b9 81 ldd r27, Y+1 ; 0x01 9c0: ce 0f add r28, r30 9c2: d1 1d adc r29, r1 9c4: 0f b6 in r0, 0x3f ; 63 9c6: f8 94 cli 9c8: de bf out 0x3e, r29 ; 62 9ca: 0f be out 0x3f, r0 ; 63 9cc: cd bf out 0x3d, r28 ; 61 9ce: ed 01 movw r28, r26 9d0: 08 95 ret 000009d2 <_exit>: 9d2: f8 94 cli 000009d4 <__stop_program>: 9d4: ff cf rjmp .-2 ; 0x9d4 <__stop_program>