Files
2017-11-29 12:51:53 -08:00

1645 lines
58 KiB
Plaintext

DriveFeedback.elf: file format elf32-avr
Sections:
Idx Name Size VMA LMA File off Algn
0 .data 00000034 00800100 00000b62 00000bf6 2**0
CONTENTS, ALLOC, LOAD, DATA
1 .text 00000b62 00000000 00000000 00000094 2**1
CONTENTS, ALLOC, LOAD, READONLY, CODE
2 .bss 00000064 00800134 00800134 00000c2a 2**0
ALLOC
3 .comment 0000005c 00000000 00000000 00000c2a 2**0
CONTENTS, READONLY
4 .debug_aranges 00000048 00000000 00000000 00000c86 2**0
CONTENTS, READONLY, DEBUGGING
5 .debug_info 0000052b 00000000 00000000 00000cce 2**0
CONTENTS, READONLY, DEBUGGING
6 .debug_abbrev 0000022e 00000000 00000000 000011f9 2**0
CONTENTS, READONLY, DEBUGGING
7 .debug_line 0000025d 00000000 00000000 00001427 2**0
CONTENTS, READONLY, DEBUGGING
8 .debug_frame 00000098 00000000 00000000 00001684 2**2
CONTENTS, READONLY, DEBUGGING
9 .debug_str 000002be 00000000 00000000 0000171c 2**0
CONTENTS, READONLY, DEBUGGING
10 .debug_loc 0000023c 00000000 00000000 000019da 2**0
CONTENTS, READONLY, DEBUGGING
11 .debug_ranges 00000038 00000000 00000000 00001c16 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 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt>
4c: 0c 94 51 00 jmp 0xa2 ; 0xa2 <__bad_interrupt>
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: e2 e6 ldi r30, 0x62 ; 98
7c: fb e0 ldi r31, 0x0B ; 11
7e: 02 c0 rjmp .+4 ; 0x84 <__do_copy_data+0x10>
80: 05 90 lpm r0, Z+
82: 0d 92 st X+, r0
84: a4 33 cpi r26, 0x34 ; 52
86: b1 07 cpc r27, r17
88: d9 f7 brne .-10 ; 0x80 <__do_copy_data+0xc>
0000008a <__do_clear_bss>:
8a: 21 e0 ldi r18, 0x01 ; 1
8c: a4 e3 ldi r26, 0x34 ; 52
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: a8 39 cpi r26, 0x98 ; 152
96: b2 07 cpc r27, r18
98: e1 f7 brne .-8 ; 0x92 <.do_clear_bss_loop>
9a: 0e 94 be 00 call 0x17c ; 0x17c <main>
9e: 0c 94 af 05 jmp 0xb5e ; 0xb5e <_exit>
000000a2 <__bad_interrupt>:
a2: 0c 94 00 00 jmp 0 ; 0x0 <__vectors>
000000a6 <_Z8PinsInitv>:
unsigned long RightValBuffer = 0UL;
char SendBuffer[100];
void PinsInit(){
AVG_DIN0_INIT();
a6: 38 98 cbi 0x07, 0 ; 7
AVG_DIN1_INIT();
a8: 39 98 cbi 0x07, 1 ; 7
AVG_DIN2_INIT();
aa: 3a 98 cbi 0x07, 2 ; 7
AVG_DIN3_INIT();
ac: 3b 98 cbi 0x07, 3 ; 7
AVG_DIN4_INIT();
ae: 3c 98 cbi 0x07, 4 ; 7
AVG_DIN5_INIT();
b0: 3d 98 cbi 0x07, 5 ; 7
AVG_DIN6_INIT();
b2: 52 98 cbi 0x0a, 2 ; 10
AVG_DIN7_INIT();
b4: 53 98 cbi 0x0a, 3 ; 10
AVG_OE_INIT();
b6: 54 9a sbi 0x0a, 4 ; 10
AVG_SEL1_INIT();
b8: 55 9a sbi 0x0a, 5 ; 10
AVG_SEL2_INIT();
ba: 56 9a sbi 0x0a, 6 ; 10
AVG_RSTY_INIT();
bc: 57 9a sbi 0x0a, 7 ; 10
AVG_RSTX_INIT();
be: 21 9a sbi 0x04, 1 ; 4
AVG_XYSEL_INIT();
c0: 22 9a sbi 0x04, 2 ; 4
AVG_RSTX_SET();
c2: 29 9a sbi 0x05, 1 ; 5
AVG_RSTY_SET();
c4: 5f 9a sbi 0x0b, 7 ; 11
AVG_XYSEL_CLR();
c6: 2a 98 cbi 0x05, 2 ; 5
SERIALTX_INIT();
c8: 51 9a sbi 0x0a, 1 ; 10
SERIALRX_INIT();
ca: 50 98 cbi 0x0a, 0 ; 10
cc: 08 95 ret
000000ce <_Z10SerialInitd>:
}
void SerialInit(double newbaud){
int baud_prescaller = ((F_CPU / (newbaud * 16UL)) - 1);
ce: 20 e0 ldi r18, 0x00 ; 0
d0: 30 e0 ldi r19, 0x00 ; 0
d2: 40 e8 ldi r20, 0x80 ; 128
d4: 51 e4 ldi r21, 0x41 ; 65
d6: 0e 94 7b 02 call 0x4f6 ; 0x4f6 <__mulsf3>
da: 9b 01 movw r18, r22
dc: ac 01 movw r20, r24
de: 60 e0 ldi r22, 0x00 ; 0
e0: 74 e2 ldi r23, 0x24 ; 36
e2: 84 e7 ldi r24, 0x74 ; 116
e4: 9b e4 ldi r25, 0x4B ; 75
e6: 0e 94 91 01 call 0x322 ; 0x322 <__divsf3>
ea: 20 e0 ldi r18, 0x00 ; 0
ec: 30 e0 ldi r19, 0x00 ; 0
ee: 40 e8 ldi r20, 0x80 ; 128
f0: 5f e3 ldi r21, 0x3F ; 63
f2: 0e 94 2c 01 call 0x258 ; 0x258 <__subsf3>
f6: 0e 94 f9 01 call 0x3f2 ; 0x3f2 <__fixsfsi>
UBRR0H = (baud_prescaller >> 8);
fa: 70 93 c5 00 sts 0x00C5, r23
UBRR0L = baud_prescaller;
fe: 60 93 c4 00 sts 0x00C4, r22
// Enable transmitter and receiver
UCSR0B = (1 << TXEN0 | 1 << RXEN0 | 1 << RXCIE0);
102: 88 e9 ldi r24, 0x98 ; 152
104: 80 93 c1 00 sts 0x00C1, r24
// Set frame format: 8data, 1stop bit
UCSR0C = ((1<<UCSZ00)|(1<<UCSZ01));
108: 86 e0 ldi r24, 0x06 ; 6
10a: 80 93 c2 00 sts 0x00C2, r24
10e: 08 95 ret
00000110 <_Z14SendByteUSART0c>:
}
void SendByteUSART0(char data){
while (!( UCSR0A & (1<<UDRE0))); //BLOCKING!!!!!
110: e0 ec ldi r30, 0xC0 ; 192
112: f0 e0 ldi r31, 0x00 ; 0
114: 90 81 ld r25, Z
116: 95 ff sbrs r25, 5
118: fd cf rjmp .-6 ; 0x114 <_Z14SendByteUSART0c+0x4>
UDR0 = data;
11a: 80 93 c6 00 sts 0x00C6, r24
11e: 08 95 ret
00000120 <_Z16SendStringUSART0Pc>:
}
void SendStringUSART0(char *data){
120: cf 93 push r28
122: df 93 push r29
124: ec 01 movw r28, r24
for (int loop = 0 ; data[loop] != '\0'; loop++){
126: 88 81 ld r24, Y
128: 88 23 and r24, r24
12a: 31 f0 breq .+12 ; 0x138 <_Z16SendStringUSART0Pc+0x18>
12c: 21 96 adiw r28, 0x01 ; 1
SendByteUSART0(data[loop]);
12e: 0e 94 88 00 call 0x110 ; 0x110 <_Z14SendByteUSART0c>
UDR0 = data;
}
void SendStringUSART0(char *data){
for (int loop = 0 ; data[loop] != '\0'; loop++){
132: 89 91 ld r24, Y+
134: 81 11 cpse r24, r1
136: fb cf rjmp .-10 ; 0x12e <_Z16SendStringUSART0Pc+0xe>
SendByteUSART0(data[loop]);
}
}
138: df 91 pop r29
13a: cf 91 pop r28
13c: 08 95 ret
0000013e <_Z7ReadAVGv>:
unsigned char ReadAVG(){
unsigned char temp = 0;
temp |= (AVG_DIN0_READ() << 0);
13e: 96 b1 in r25, 0x06 ; 6
temp |= (AVG_DIN1_READ() << 1);
140: 66 b1 in r22, 0x06 ; 6
temp |= (AVG_DIN2_READ() << 2);
142: 46 b1 in r20, 0x06 ; 6
temp |= (AVG_DIN3_READ() << 3);
144: 86 b1 in r24, 0x06 ; 6
temp |= (AVG_DIN4_READ() << 4);
146: 56 b1 in r21, 0x06 ; 6
temp |= (AVG_DIN5_READ() << 5);
148: 56 b1 in r21, 0x06 ; 6
temp |= (AVG_DIN6_READ() << 6);
14a: 59 b1 in r21, 0x09 ; 9
temp |= (AVG_DIN7_READ() << 7);
14c: 59 b1 in r21, 0x09 ; 9
}
unsigned char ReadAVG(){
unsigned char temp = 0;
temp |= (AVG_DIN0_READ() << 0);
temp |= (AVG_DIN1_READ() << 1);
14e: 62 70 andi r22, 0x02 ; 2
150: 70 e0 ldi r23, 0x00 ; 0
152: 66 0f add r22, r22
154: 77 1f adc r23, r23
156: 29 2f mov r18, r25
158: 21 70 andi r18, 0x01 ; 1
15a: 30 e0 ldi r19, 0x00 ; 0
temp |= (AVG_DIN2_READ() << 2);
15c: 26 2b or r18, r22
15e: 37 2b or r19, r23
160: 44 70 andi r20, 0x04 ; 4
162: 50 e0 ldi r21, 0x00 ; 0
164: 44 0f add r20, r20
166: 55 1f adc r21, r21
168: 44 0f add r20, r20
16a: 55 1f adc r21, r21
temp |= (AVG_DIN3_READ() << 3);
16c: 24 2b or r18, r20
16e: 35 2b or r19, r21
170: 88 70 andi r24, 0x08 ; 8
172: 88 0f add r24, r24
174: 88 0f add r24, r24
176: 88 0f add r24, r24
temp |= (AVG_DIN4_READ() << 4);
temp |= (AVG_DIN5_READ() << 5);
temp |= (AVG_DIN6_READ() << 6);
temp |= (AVG_DIN7_READ() << 7);
return temp;
}
178: 82 2b or r24, r18
17a: 08 95 ret
0000017c <main>:
int main(void)
{
PinsInit();
17c: 0e 94 53 00 call 0xa6 ; 0xa6 <_Z8PinsInitv>
#else
//round up by default
__ticks_dc = (uint32_t)(ceil(fabs(__tmp)));
#endif
__builtin_avr_delay_cycles(__ticks_dc);
180: 2f ef ldi r18, 0xFF ; 255
182: 89 e6 ldi r24, 0x69 ; 105
184: 98 e1 ldi r25, 0x18 ; 24
186: 21 50 subi r18, 0x01 ; 1
188: 80 40 sbci r24, 0x00 ; 0
18a: 90 40 sbci r25, 0x00 ; 0
18c: e1 f7 brne .-8 ; 0x186 <main+0xa>
18e: 00 c0 rjmp .+0 ; 0x190 <main+0x14>
190: 00 00 nop
_delay_ms(500);
SerialInit(9600);
192: 60 e0 ldi r22, 0x00 ; 0
194: 70 e0 ldi r23, 0x00 ; 0
196: 86 e1 ldi r24, 0x16 ; 22
198: 96 e4 ldi r25, 0x46 ; 70
19a: 0e 94 67 00 call 0xce ; 0xce <_Z10SerialInitd>
19e: 2f ef ldi r18, 0xFF ; 255
1a0: 89 e6 ldi r24, 0x69 ; 105
1a2: 98 e1 ldi r25, 0x18 ; 24
1a4: 21 50 subi r18, 0x01 ; 1
1a6: 80 40 sbci r24, 0x00 ; 0
1a8: 90 40 sbci r25, 0x00 ; 0
1aa: e1 f7 brne .-8 ; 0x1a4 <main+0x28>
1ac: 00 c0 rjmp .+0 ; 0x1ae <main+0x32>
1ae: 00 00 nop
_delay_ms(500);
SendStringUSART0("Device Initialized!!!\r\n\r\n\r\n");
1b0: 80 e0 ldi r24, 0x00 ; 0
1b2: 91 e0 ldi r25, 0x01 ; 1
1b4: 0e 94 90 00 call 0x120 ; 0x120 <_Z16SendStringUSART0Pc>
1b8: 2f ef ldi r18, 0xFF ; 255
1ba: 87 ea ldi r24, 0xA7 ; 167
1bc: 91 e6 ldi r25, 0x61 ; 97
1be: 21 50 subi r18, 0x01 ; 1
1c0: 80 40 sbci r24, 0x00 ; 0
1c2: 90 40 sbci r25, 0x00 ; 0
1c4: e1 f7 brne .-8 ; 0x1be <main+0x42>
1c6: 00 c0 rjmp .+0 ; 0x1c8 <main+0x4c>
1c8: 00 00 nop
_delay_ms(10);
lsb = ReadAVG();
AVG_OE_SET();
sprintf(SendBuffer,"The lsb value is: %d.\r\n", lsb);
1ca: 0c e1 ldi r16, 0x1C ; 28
1cc: 11 e0 ldi r17, 0x01 ; 1
1ce: c4 e3 ldi r28, 0x34 ; 52
1d0: d1 e0 ldi r29, 0x01 ; 1
unsigned char msb = 0;
unsigned char trd = 0;
unsigned char scd = 0;
unsigned char lsb = 0;
AVG_OE_CLR();
1d2: 5c 98 cbi 0x0b, 4 ; 11
AVG_SEL1_CLR();
1d4: 5d 98 cbi 0x0b, 5 ; 11
AVG_SEL2_SET();
1d6: 5e 9a sbi 0x0b, 6 ; 11
1d8: 8f e3 ldi r24, 0x3F ; 63
1da: 9c e9 ldi r25, 0x9C ; 156
1dc: 01 97 sbiw r24, 0x01 ; 1
1de: f1 f7 brne .-4 ; 0x1dc <main+0x60>
1e0: 00 c0 rjmp .+0 ; 0x1e2 <main+0x66>
1e2: 00 00 nop
_delay_ms(10);
msb = ReadAVG();
1e4: 0e 94 9f 00 call 0x13e ; 0x13e <_Z7ReadAVGv>
AVG_SEL1_SET();
1e8: 5d 9a sbi 0x0b, 5 ; 11
1ea: 8f e3 ldi r24, 0x3F ; 63
1ec: 9c e9 ldi r25, 0x9C ; 156
1ee: 01 97 sbiw r24, 0x01 ; 1
1f0: f1 f7 brne .-4 ; 0x1ee <main+0x72>
1f2: 00 c0 rjmp .+0 ; 0x1f4 <main+0x78>
1f4: 00 00 nop
_delay_ms(10);
trd = ReadAVG();
1f6: 0e 94 9f 00 call 0x13e ; 0x13e <_Z7ReadAVGv>
AVG_SEL1_CLR();
1fa: 5d 98 cbi 0x0b, 5 ; 11
AVG_SEL2_CLR();
1fc: 5e 98 cbi 0x0b, 6 ; 11
1fe: 8f e3 ldi r24, 0x3F ; 63
200: 9c e9 ldi r25, 0x9C ; 156
202: 01 97 sbiw r24, 0x01 ; 1
204: f1 f7 brne .-4 ; 0x202 <main+0x86>
206: 00 c0 rjmp .+0 ; 0x208 <main+0x8c>
208: 00 00 nop
_delay_ms(10);
scd = ReadAVG();
20a: 0e 94 9f 00 call 0x13e ; 0x13e <_Z7ReadAVGv>
AVG_SEL1_SET();
20e: 5d 9a sbi 0x0b, 5 ; 11
210: 8f e3 ldi r24, 0x3F ; 63
212: 9c e9 ldi r25, 0x9C ; 156
214: 01 97 sbiw r24, 0x01 ; 1
216: f1 f7 brne .-4 ; 0x214 <main+0x98>
218: 00 c0 rjmp .+0 ; 0x21a <main+0x9e>
21a: 00 00 nop
_delay_ms(10);
lsb = ReadAVG();
21c: 0e 94 9f 00 call 0x13e ; 0x13e <_Z7ReadAVGv>
AVG_OE_SET();
220: 5c 9a sbi 0x0b, 4 ; 11
sprintf(SendBuffer,"The lsb value is: %d.\r\n", lsb);
222: 1f 92 push r1
224: 8f 93 push r24
226: 1f 93 push r17
228: 0f 93 push r16
22a: df 93 push r29
22c: cf 93 push r28
22e: 0e 94 de 02 call 0x5bc ; 0x5bc <sprintf>
SendStringUSART0(SendBuffer);
232: ce 01 movw r24, r28
234: 0e 94 90 00 call 0x120 ; 0x120 <_Z16SendStringUSART0Pc>
238: 8f ef ldi r24, 0xFF ; 255
23a: 91 ee ldi r25, 0xE1 ; 225
23c: 24 e0 ldi r18, 0x04 ; 4
23e: 81 50 subi r24, 0x01 ; 1
240: 90 40 sbci r25, 0x00 ; 0
242: 20 40 sbci r18, 0x00 ; 0
244: e1 f7 brne .-8 ; 0x23e <main+0xc2>
246: 00 c0 rjmp .+0 ; 0x248 <main+0xcc>
248: 00 00 nop
24a: 0f 90 pop r0
24c: 0f 90 pop r0
24e: 0f 90 pop r0
250: 0f 90 pop r0
252: 0f 90 pop r0
254: 0f 90 pop r0
256: bd cf rjmp .-134 ; 0x1d2 <main+0x56>
00000258 <__subsf3>:
258: 50 58 subi r21, 0x80 ; 128
0000025a <__addsf3>:
25a: bb 27 eor r27, r27
25c: aa 27 eor r26, r26
25e: 0e d0 rcall .+28 ; 0x27c <__addsf3x>
260: 10 c1 rjmp .+544 ; 0x482 <__fp_round>
262: 01 d1 rcall .+514 ; 0x466 <__fp_pscA>
264: 30 f0 brcs .+12 ; 0x272 <__addsf3+0x18>
266: 06 d1 rcall .+524 ; 0x474 <__fp_pscB>
268: 20 f0 brcs .+8 ; 0x272 <__addsf3+0x18>
26a: 31 f4 brne .+12 ; 0x278 <__addsf3+0x1e>
26c: 9f 3f cpi r25, 0xFF ; 255
26e: 11 f4 brne .+4 ; 0x274 <__addsf3+0x1a>
270: 1e f4 brtc .+6 ; 0x278 <__addsf3+0x1e>
272: f6 c0 rjmp .+492 ; 0x460 <__fp_nan>
274: 0e f4 brtc .+2 ; 0x278 <__addsf3+0x1e>
276: e0 95 com r30
278: e7 fb bst r30, 7
27a: ec c0 rjmp .+472 ; 0x454 <__fp_inf>
0000027c <__addsf3x>:
27c: e9 2f mov r30, r25
27e: 12 d1 rcall .+548 ; 0x4a4 <__fp_split3>
280: 80 f3 brcs .-32 ; 0x262 <__addsf3+0x8>
282: ba 17 cp r27, r26
284: 62 07 cpc r22, r18
286: 73 07 cpc r23, r19
288: 84 07 cpc r24, r20
28a: 95 07 cpc r25, r21
28c: 18 f0 brcs .+6 ; 0x294 <__addsf3x+0x18>
28e: 71 f4 brne .+28 ; 0x2ac <__addsf3x+0x30>
290: 9e f5 brtc .+102 ; 0x2f8 <__addsf3x+0x7c>
292: 2a c1 rjmp .+596 ; 0x4e8 <__fp_zero>
294: 0e f4 brtc .+2 ; 0x298 <__addsf3x+0x1c>
296: e0 95 com r30
298: 0b 2e mov r0, r27
29a: ba 2f mov r27, r26
29c: a0 2d mov r26, r0
29e: 0b 01 movw r0, r22
2a0: b9 01 movw r22, r18
2a2: 90 01 movw r18, r0
2a4: 0c 01 movw r0, r24
2a6: ca 01 movw r24, r20
2a8: a0 01 movw r20, r0
2aa: 11 24 eor r1, r1
2ac: ff 27 eor r31, r31
2ae: 59 1b sub r21, r25
2b0: 99 f0 breq .+38 ; 0x2d8 <__addsf3x+0x5c>
2b2: 59 3f cpi r21, 0xF9 ; 249
2b4: 50 f4 brcc .+20 ; 0x2ca <__addsf3x+0x4e>
2b6: 50 3e cpi r21, 0xE0 ; 224
2b8: 68 f1 brcs .+90 ; 0x314 <__addsf3x+0x98>
2ba: 1a 16 cp r1, r26
2bc: f0 40 sbci r31, 0x00 ; 0
2be: a2 2f mov r26, r18
2c0: 23 2f mov r18, r19
2c2: 34 2f mov r19, r20
2c4: 44 27 eor r20, r20
2c6: 58 5f subi r21, 0xF8 ; 248
2c8: f3 cf rjmp .-26 ; 0x2b0 <__addsf3x+0x34>
2ca: 46 95 lsr r20
2cc: 37 95 ror r19
2ce: 27 95 ror r18
2d0: a7 95 ror r26
2d2: f0 40 sbci r31, 0x00 ; 0
2d4: 53 95 inc r21
2d6: c9 f7 brne .-14 ; 0x2ca <__addsf3x+0x4e>
2d8: 7e f4 brtc .+30 ; 0x2f8 <__addsf3x+0x7c>
2da: 1f 16 cp r1, r31
2dc: ba 0b sbc r27, r26
2de: 62 0b sbc r22, r18
2e0: 73 0b sbc r23, r19
2e2: 84 0b sbc r24, r20
2e4: ba f0 brmi .+46 ; 0x314 <__addsf3x+0x98>
2e6: 91 50 subi r25, 0x01 ; 1
2e8: a1 f0 breq .+40 ; 0x312 <__addsf3x+0x96>
2ea: ff 0f add r31, r31
2ec: bb 1f adc r27, r27
2ee: 66 1f adc r22, r22
2f0: 77 1f adc r23, r23
2f2: 88 1f adc r24, r24
2f4: c2 f7 brpl .-16 ; 0x2e6 <__addsf3x+0x6a>
2f6: 0e c0 rjmp .+28 ; 0x314 <__addsf3x+0x98>
2f8: ba 0f add r27, r26
2fa: 62 1f adc r22, r18
2fc: 73 1f adc r23, r19
2fe: 84 1f adc r24, r20
300: 48 f4 brcc .+18 ; 0x314 <__addsf3x+0x98>
302: 87 95 ror r24
304: 77 95 ror r23
306: 67 95 ror r22
308: b7 95 ror r27
30a: f7 95 ror r31
30c: 9e 3f cpi r25, 0xFE ; 254
30e: 08 f0 brcs .+2 ; 0x312 <__addsf3x+0x96>
310: b3 cf rjmp .-154 ; 0x278 <__addsf3+0x1e>
312: 93 95 inc r25
314: 88 0f add r24, r24
316: 08 f0 brcs .+2 ; 0x31a <__addsf3x+0x9e>
318: 99 27 eor r25, r25
31a: ee 0f add r30, r30
31c: 97 95 ror r25
31e: 87 95 ror r24
320: 08 95 ret
00000322 <__divsf3>:
322: 0c d0 rcall .+24 ; 0x33c <__divsf3x>
324: ae c0 rjmp .+348 ; 0x482 <__fp_round>
326: a6 d0 rcall .+332 ; 0x474 <__fp_pscB>
328: 40 f0 brcs .+16 ; 0x33a <__divsf3+0x18>
32a: 9d d0 rcall .+314 ; 0x466 <__fp_pscA>
32c: 30 f0 brcs .+12 ; 0x33a <__divsf3+0x18>
32e: 21 f4 brne .+8 ; 0x338 <__divsf3+0x16>
330: 5f 3f cpi r21, 0xFF ; 255
332: 19 f0 breq .+6 ; 0x33a <__divsf3+0x18>
334: 8f c0 rjmp .+286 ; 0x454 <__fp_inf>
336: 51 11 cpse r21, r1
338: d8 c0 rjmp .+432 ; 0x4ea <__fp_szero>
33a: 92 c0 rjmp .+292 ; 0x460 <__fp_nan>
0000033c <__divsf3x>:
33c: b3 d0 rcall .+358 ; 0x4a4 <__fp_split3>
33e: 98 f3 brcs .-26 ; 0x326 <__divsf3+0x4>
00000340 <__divsf3_pse>:
340: 99 23 and r25, r25
342: c9 f3 breq .-14 ; 0x336 <__divsf3+0x14>
344: 55 23 and r21, r21
346: b1 f3 breq .-20 ; 0x334 <__divsf3+0x12>
348: 95 1b sub r25, r21
34a: 55 0b sbc r21, r21
34c: bb 27 eor r27, r27
34e: aa 27 eor r26, r26
350: 62 17 cp r22, r18
352: 73 07 cpc r23, r19
354: 84 07 cpc r24, r20
356: 38 f0 brcs .+14 ; 0x366 <__divsf3_pse+0x26>
358: 9f 5f subi r25, 0xFF ; 255
35a: 5f 4f sbci r21, 0xFF ; 255
35c: 22 0f add r18, r18
35e: 33 1f adc r19, r19
360: 44 1f adc r20, r20
362: aa 1f adc r26, r26
364: a9 f3 breq .-22 ; 0x350 <__divsf3_pse+0x10>
366: 33 d0 rcall .+102 ; 0x3ce <__divsf3_pse+0x8e>
368: 0e 2e mov r0, r30
36a: 3a f0 brmi .+14 ; 0x37a <__divsf3_pse+0x3a>
36c: e0 e8 ldi r30, 0x80 ; 128
36e: 30 d0 rcall .+96 ; 0x3d0 <__divsf3_pse+0x90>
370: 91 50 subi r25, 0x01 ; 1
372: 50 40 sbci r21, 0x00 ; 0
374: e6 95 lsr r30
376: 00 1c adc r0, r0
378: ca f7 brpl .-14 ; 0x36c <__divsf3_pse+0x2c>
37a: 29 d0 rcall .+82 ; 0x3ce <__divsf3_pse+0x8e>
37c: fe 2f mov r31, r30
37e: 27 d0 rcall .+78 ; 0x3ce <__divsf3_pse+0x8e>
380: 66 0f add r22, r22
382: 77 1f adc r23, r23
384: 88 1f adc r24, r24
386: bb 1f adc r27, r27
388: 26 17 cp r18, r22
38a: 37 07 cpc r19, r23
38c: 48 07 cpc r20, r24
38e: ab 07 cpc r26, r27
390: b0 e8 ldi r27, 0x80 ; 128
392: 09 f0 breq .+2 ; 0x396 <__divsf3_pse+0x56>
394: bb 0b sbc r27, r27
396: 80 2d mov r24, r0
398: bf 01 movw r22, r30
39a: ff 27 eor r31, r31
39c: 93 58 subi r25, 0x83 ; 131
39e: 5f 4f sbci r21, 0xFF ; 255
3a0: 2a f0 brmi .+10 ; 0x3ac <__divsf3_pse+0x6c>
3a2: 9e 3f cpi r25, 0xFE ; 254
3a4: 51 05 cpc r21, r1
3a6: 68 f0 brcs .+26 ; 0x3c2 <__divsf3_pse+0x82>
3a8: 55 c0 rjmp .+170 ; 0x454 <__fp_inf>
3aa: 9f c0 rjmp .+318 ; 0x4ea <__fp_szero>
3ac: 5f 3f cpi r21, 0xFF ; 255
3ae: ec f3 brlt .-6 ; 0x3aa <__divsf3_pse+0x6a>
3b0: 98 3e cpi r25, 0xE8 ; 232
3b2: dc f3 brlt .-10 ; 0x3aa <__divsf3_pse+0x6a>
3b4: 86 95 lsr r24
3b6: 77 95 ror r23
3b8: 67 95 ror r22
3ba: b7 95 ror r27
3bc: f7 95 ror r31
3be: 9f 5f subi r25, 0xFF ; 255
3c0: c9 f7 brne .-14 ; 0x3b4 <__divsf3_pse+0x74>
3c2: 88 0f add r24, r24
3c4: 91 1d adc r25, r1
3c6: 96 95 lsr r25
3c8: 87 95 ror r24
3ca: 97 f9 bld r25, 7
3cc: 08 95 ret
3ce: e1 e0 ldi r30, 0x01 ; 1
3d0: 66 0f add r22, r22
3d2: 77 1f adc r23, r23
3d4: 88 1f adc r24, r24
3d6: bb 1f adc r27, r27
3d8: 62 17 cp r22, r18
3da: 73 07 cpc r23, r19
3dc: 84 07 cpc r24, r20
3de: ba 07 cpc r27, r26
3e0: 20 f0 brcs .+8 ; 0x3ea <__divsf3_pse+0xaa>
3e2: 62 1b sub r22, r18
3e4: 73 0b sbc r23, r19
3e6: 84 0b sbc r24, r20
3e8: ba 0b sbc r27, r26
3ea: ee 1f adc r30, r30
3ec: 88 f7 brcc .-30 ; 0x3d0 <__divsf3_pse+0x90>
3ee: e0 95 com r30
3f0: 08 95 ret
000003f2 <__fixsfsi>:
3f2: 04 d0 rcall .+8 ; 0x3fc <__fixunssfsi>
3f4: 68 94 set
3f6: b1 11 cpse r27, r1
3f8: 78 c0 rjmp .+240 ; 0x4ea <__fp_szero>
3fa: 08 95 ret
000003fc <__fixunssfsi>:
3fc: 5b d0 rcall .+182 ; 0x4b4 <__fp_splitA>
3fe: 88 f0 brcs .+34 ; 0x422 <__fixunssfsi+0x26>
400: 9f 57 subi r25, 0x7F ; 127
402: 90 f0 brcs .+36 ; 0x428 <__fixunssfsi+0x2c>
404: b9 2f mov r27, r25
406: 99 27 eor r25, r25
408: b7 51 subi r27, 0x17 ; 23
40a: a0 f0 brcs .+40 ; 0x434 <__fixunssfsi+0x38>
40c: d1 f0 breq .+52 ; 0x442 <__fixunssfsi+0x46>
40e: 66 0f add r22, r22
410: 77 1f adc r23, r23
412: 88 1f adc r24, r24
414: 99 1f adc r25, r25
416: 1a f0 brmi .+6 ; 0x41e <__fixunssfsi+0x22>
418: ba 95 dec r27
41a: c9 f7 brne .-14 ; 0x40e <__fixunssfsi+0x12>
41c: 12 c0 rjmp .+36 ; 0x442 <__fixunssfsi+0x46>
41e: b1 30 cpi r27, 0x01 ; 1
420: 81 f0 breq .+32 ; 0x442 <__fixunssfsi+0x46>
422: 62 d0 rcall .+196 ; 0x4e8 <__fp_zero>
424: b1 e0 ldi r27, 0x01 ; 1
426: 08 95 ret
428: 5f c0 rjmp .+190 ; 0x4e8 <__fp_zero>
42a: 67 2f mov r22, r23
42c: 78 2f mov r23, r24
42e: 88 27 eor r24, r24
430: b8 5f subi r27, 0xF8 ; 248
432: 39 f0 breq .+14 ; 0x442 <__fixunssfsi+0x46>
434: b9 3f cpi r27, 0xF9 ; 249
436: cc f3 brlt .-14 ; 0x42a <__fixunssfsi+0x2e>
438: 86 95 lsr r24
43a: 77 95 ror r23
43c: 67 95 ror r22
43e: b3 95 inc r27
440: d9 f7 brne .-10 ; 0x438 <__fixunssfsi+0x3c>
442: 3e f4 brtc .+14 ; 0x452 <__fixunssfsi+0x56>
444: 90 95 com r25
446: 80 95 com r24
448: 70 95 com r23
44a: 61 95 neg r22
44c: 7f 4f sbci r23, 0xFF ; 255
44e: 8f 4f sbci r24, 0xFF ; 255
450: 9f 4f sbci r25, 0xFF ; 255
452: 08 95 ret
00000454 <__fp_inf>:
454: 97 f9 bld r25, 7
456: 9f 67 ori r25, 0x7F ; 127
458: 80 e8 ldi r24, 0x80 ; 128
45a: 70 e0 ldi r23, 0x00 ; 0
45c: 60 e0 ldi r22, 0x00 ; 0
45e: 08 95 ret
00000460 <__fp_nan>:
460: 9f ef ldi r25, 0xFF ; 255
462: 80 ec ldi r24, 0xC0 ; 192
464: 08 95 ret
00000466 <__fp_pscA>:
466: 00 24 eor r0, r0
468: 0a 94 dec r0
46a: 16 16 cp r1, r22
46c: 17 06 cpc r1, r23
46e: 18 06 cpc r1, r24
470: 09 06 cpc r0, r25
472: 08 95 ret
00000474 <__fp_pscB>:
474: 00 24 eor r0, r0
476: 0a 94 dec r0
478: 12 16 cp r1, r18
47a: 13 06 cpc r1, r19
47c: 14 06 cpc r1, r20
47e: 05 06 cpc r0, r21
480: 08 95 ret
00000482 <__fp_round>:
482: 09 2e mov r0, r25
484: 03 94 inc r0
486: 00 0c add r0, r0
488: 11 f4 brne .+4 ; 0x48e <__fp_round+0xc>
48a: 88 23 and r24, r24
48c: 52 f0 brmi .+20 ; 0x4a2 <__fp_round+0x20>
48e: bb 0f add r27, r27
490: 40 f4 brcc .+16 ; 0x4a2 <__fp_round+0x20>
492: bf 2b or r27, r31
494: 11 f4 brne .+4 ; 0x49a <__fp_round+0x18>
496: 60 ff sbrs r22, 0
498: 04 c0 rjmp .+8 ; 0x4a2 <__fp_round+0x20>
49a: 6f 5f subi r22, 0xFF ; 255
49c: 7f 4f sbci r23, 0xFF ; 255
49e: 8f 4f sbci r24, 0xFF ; 255
4a0: 9f 4f sbci r25, 0xFF ; 255
4a2: 08 95 ret
000004a4 <__fp_split3>:
4a4: 57 fd sbrc r21, 7
4a6: 90 58 subi r25, 0x80 ; 128
4a8: 44 0f add r20, r20
4aa: 55 1f adc r21, r21
4ac: 59 f0 breq .+22 ; 0x4c4 <__fp_splitA+0x10>
4ae: 5f 3f cpi r21, 0xFF ; 255
4b0: 71 f0 breq .+28 ; 0x4ce <__fp_splitA+0x1a>
4b2: 47 95 ror r20
000004b4 <__fp_splitA>:
4b4: 88 0f add r24, r24
4b6: 97 fb bst r25, 7
4b8: 99 1f adc r25, r25
4ba: 61 f0 breq .+24 ; 0x4d4 <__fp_splitA+0x20>
4bc: 9f 3f cpi r25, 0xFF ; 255
4be: 79 f0 breq .+30 ; 0x4de <__fp_splitA+0x2a>
4c0: 87 95 ror r24
4c2: 08 95 ret
4c4: 12 16 cp r1, r18
4c6: 13 06 cpc r1, r19
4c8: 14 06 cpc r1, r20
4ca: 55 1f adc r21, r21
4cc: f2 cf rjmp .-28 ; 0x4b2 <__fp_split3+0xe>
4ce: 46 95 lsr r20
4d0: f1 df rcall .-30 ; 0x4b4 <__fp_splitA>
4d2: 08 c0 rjmp .+16 ; 0x4e4 <__fp_splitA+0x30>
4d4: 16 16 cp r1, r22
4d6: 17 06 cpc r1, r23
4d8: 18 06 cpc r1, r24
4da: 99 1f adc r25, r25
4dc: f1 cf rjmp .-30 ; 0x4c0 <__fp_splitA+0xc>
4de: 86 95 lsr r24
4e0: 71 05 cpc r23, r1
4e2: 61 05 cpc r22, r1
4e4: 08 94 sec
4e6: 08 95 ret
000004e8 <__fp_zero>:
4e8: e8 94 clt
000004ea <__fp_szero>:
4ea: bb 27 eor r27, r27
4ec: 66 27 eor r22, r22
4ee: 77 27 eor r23, r23
4f0: cb 01 movw r24, r22
4f2: 97 f9 bld r25, 7
4f4: 08 95 ret
000004f6 <__mulsf3>:
4f6: 0b d0 rcall .+22 ; 0x50e <__mulsf3x>
4f8: c4 cf rjmp .-120 ; 0x482 <__fp_round>
4fa: b5 df rcall .-150 ; 0x466 <__fp_pscA>
4fc: 28 f0 brcs .+10 ; 0x508 <__mulsf3+0x12>
4fe: ba df rcall .-140 ; 0x474 <__fp_pscB>
500: 18 f0 brcs .+6 ; 0x508 <__mulsf3+0x12>
502: 95 23 and r25, r21
504: 09 f0 breq .+2 ; 0x508 <__mulsf3+0x12>
506: a6 cf rjmp .-180 ; 0x454 <__fp_inf>
508: ab cf rjmp .-170 ; 0x460 <__fp_nan>
50a: 11 24 eor r1, r1
50c: ee cf rjmp .-36 ; 0x4ea <__fp_szero>
0000050e <__mulsf3x>:
50e: ca df rcall .-108 ; 0x4a4 <__fp_split3>
510: a0 f3 brcs .-24 ; 0x4fa <__mulsf3+0x4>
00000512 <__mulsf3_pse>:
512: 95 9f mul r25, r21
514: d1 f3 breq .-12 ; 0x50a <__mulsf3+0x14>
516: 95 0f add r25, r21
518: 50 e0 ldi r21, 0x00 ; 0
51a: 55 1f adc r21, r21
51c: 62 9f mul r22, r18
51e: f0 01 movw r30, r0
520: 72 9f mul r23, r18
522: bb 27 eor r27, r27
524: f0 0d add r31, r0
526: b1 1d adc r27, r1
528: 63 9f mul r22, r19
52a: aa 27 eor r26, r26
52c: f0 0d add r31, r0
52e: b1 1d adc r27, r1
530: aa 1f adc r26, r26
532: 64 9f mul r22, r20
534: 66 27 eor r22, r22
536: b0 0d add r27, r0
538: a1 1d adc r26, r1
53a: 66 1f adc r22, r22
53c: 82 9f mul r24, r18
53e: 22 27 eor r18, r18
540: b0 0d add r27, r0
542: a1 1d adc r26, r1
544: 62 1f adc r22, r18
546: 73 9f mul r23, r19
548: b0 0d add r27, r0
54a: a1 1d adc r26, r1
54c: 62 1f adc r22, r18
54e: 83 9f mul r24, r19
550: a0 0d add r26, r0
552: 61 1d adc r22, r1
554: 22 1f adc r18, r18
556: 74 9f mul r23, r20
558: 33 27 eor r19, r19
55a: a0 0d add r26, r0
55c: 61 1d adc r22, r1
55e: 23 1f adc r18, r19
560: 84 9f mul r24, r20
562: 60 0d add r22, r0
564: 21 1d adc r18, r1
566: 82 2f mov r24, r18
568: 76 2f mov r23, r22
56a: 6a 2f mov r22, r26
56c: 11 24 eor r1, r1
56e: 9f 57 subi r25, 0x7F ; 127
570: 50 40 sbci r21, 0x00 ; 0
572: 8a f0 brmi .+34 ; 0x596 <__mulsf3_pse+0x84>
574: e1 f0 breq .+56 ; 0x5ae <__mulsf3_pse+0x9c>
576: 88 23 and r24, r24
578: 4a f0 brmi .+18 ; 0x58c <__mulsf3_pse+0x7a>
57a: ee 0f add r30, r30
57c: ff 1f adc r31, r31
57e: bb 1f adc r27, r27
580: 66 1f adc r22, r22
582: 77 1f adc r23, r23
584: 88 1f adc r24, r24
586: 91 50 subi r25, 0x01 ; 1
588: 50 40 sbci r21, 0x00 ; 0
58a: a9 f7 brne .-22 ; 0x576 <__mulsf3_pse+0x64>
58c: 9e 3f cpi r25, 0xFE ; 254
58e: 51 05 cpc r21, r1
590: 70 f0 brcs .+28 ; 0x5ae <__mulsf3_pse+0x9c>
592: 60 cf rjmp .-320 ; 0x454 <__fp_inf>
594: aa cf rjmp .-172 ; 0x4ea <__fp_szero>
596: 5f 3f cpi r21, 0xFF ; 255
598: ec f3 brlt .-6 ; 0x594 <__mulsf3_pse+0x82>
59a: 98 3e cpi r25, 0xE8 ; 232
59c: dc f3 brlt .-10 ; 0x594 <__mulsf3_pse+0x82>
59e: 86 95 lsr r24
5a0: 77 95 ror r23
5a2: 67 95 ror r22
5a4: b7 95 ror r27
5a6: f7 95 ror r31
5a8: e7 95 ror r30
5aa: 9f 5f subi r25, 0xFF ; 255
5ac: c1 f7 brne .-16 ; 0x59e <__mulsf3_pse+0x8c>
5ae: fe 2b or r31, r30
5b0: 88 0f add r24, r24
5b2: 91 1d adc r25, r1
5b4: 96 95 lsr r25
5b6: 87 95 ror r24
5b8: 97 f9 bld r25, 7
5ba: 08 95 ret
000005bc <sprintf>:
5bc: ae e0 ldi r26, 0x0E ; 14
5be: b0 e0 ldi r27, 0x00 ; 0
5c0: e4 ee ldi r30, 0xE4 ; 228
5c2: f2 e0 ldi r31, 0x02 ; 2
5c4: 0c 94 86 05 jmp 0xb0c ; 0xb0c <__prologue_saves__+0x1c>
5c8: 0d 89 ldd r16, Y+21 ; 0x15
5ca: 1e 89 ldd r17, Y+22 ; 0x16
5cc: 86 e0 ldi r24, 0x06 ; 6
5ce: 8c 83 std Y+4, r24 ; 0x04
5d0: 1a 83 std Y+2, r17 ; 0x02
5d2: 09 83 std Y+1, r16 ; 0x01
5d4: 8f ef ldi r24, 0xFF ; 255
5d6: 9f e7 ldi r25, 0x7F ; 127
5d8: 9e 83 std Y+6, r25 ; 0x06
5da: 8d 83 std Y+5, r24 ; 0x05
5dc: ae 01 movw r20, r28
5de: 47 5e subi r20, 0xE7 ; 231
5e0: 5f 4f sbci r21, 0xFF ; 255
5e2: 6f 89 ldd r22, Y+23 ; 0x17
5e4: 78 8d ldd r23, Y+24 ; 0x18
5e6: ce 01 movw r24, r28
5e8: 01 96 adiw r24, 0x01 ; 1
5ea: 0e 94 00 03 call 0x600 ; 0x600 <vfprintf>
5ee: ef 81 ldd r30, Y+7 ; 0x07
5f0: f8 85 ldd r31, Y+8 ; 0x08
5f2: e0 0f add r30, r16
5f4: f1 1f adc r31, r17
5f6: 10 82 st Z, r1
5f8: 2e 96 adiw r28, 0x0e ; 14
5fa: e4 e0 ldi r30, 0x04 ; 4
5fc: 0c 94 a2 05 jmp 0xb44 ; 0xb44 <__epilogue_restores__+0x1c>
00000600 <vfprintf>:
600: ac e0 ldi r26, 0x0C ; 12
602: b0 e0 ldi r27, 0x00 ; 0
604: e6 e0 ldi r30, 0x06 ; 6
606: f3 e0 ldi r31, 0x03 ; 3
608: 0c 94 78 05 jmp 0xaf0 ; 0xaf0 <__prologue_saves__>
60c: 7c 01 movw r14, r24
60e: 6b 01 movw r12, r22
610: 8a 01 movw r16, r20
612: fc 01 movw r30, r24
614: 17 82 std Z+7, r1 ; 0x07
616: 16 82 std Z+6, r1 ; 0x06
618: 83 81 ldd r24, Z+3 ; 0x03
61a: 81 ff sbrs r24, 1
61c: bd c1 rjmp .+890 ; 0x998 <__stack+0x99>
61e: ce 01 movw r24, r28
620: 01 96 adiw r24, 0x01 ; 1
622: 4c 01 movw r8, r24
624: f7 01 movw r30, r14
626: 93 81 ldd r25, Z+3 ; 0x03
628: f6 01 movw r30, r12
62a: 93 fd sbrc r25, 3
62c: 85 91 lpm r24, Z+
62e: 93 ff sbrs r25, 3
630: 81 91 ld r24, Z+
632: 6f 01 movw r12, r30
634: 88 23 and r24, r24
636: 09 f4 brne .+2 ; 0x63a <vfprintf+0x3a>
638: ab c1 rjmp .+854 ; 0x990 <__stack+0x91>
63a: 85 32 cpi r24, 0x25 ; 37
63c: 39 f4 brne .+14 ; 0x64c <vfprintf+0x4c>
63e: 93 fd sbrc r25, 3
640: 85 91 lpm r24, Z+
642: 93 ff sbrs r25, 3
644: 81 91 ld r24, Z+
646: 6f 01 movw r12, r30
648: 85 32 cpi r24, 0x25 ; 37
64a: 29 f4 brne .+10 ; 0x656 <vfprintf+0x56>
64c: b7 01 movw r22, r14
64e: 90 e0 ldi r25, 0x00 ; 0
650: 0e 94 e8 04 call 0x9d0 ; 0x9d0 <fputc>
654: e7 cf rjmp .-50 ; 0x624 <vfprintf+0x24>
656: 51 2c mov r5, r1
658: 31 2c mov r3, r1
65a: 20 e0 ldi r18, 0x00 ; 0
65c: 20 32 cpi r18, 0x20 ; 32
65e: a0 f4 brcc .+40 ; 0x688 <vfprintf+0x88>
660: 8b 32 cpi r24, 0x2B ; 43
662: 69 f0 breq .+26 ; 0x67e <vfprintf+0x7e>
664: 30 f4 brcc .+12 ; 0x672 <vfprintf+0x72>
666: 80 32 cpi r24, 0x20 ; 32
668: 59 f0 breq .+22 ; 0x680 <vfprintf+0x80>
66a: 83 32 cpi r24, 0x23 ; 35
66c: 69 f4 brne .+26 ; 0x688 <vfprintf+0x88>
66e: 20 61 ori r18, 0x10 ; 16
670: 2c c0 rjmp .+88 ; 0x6ca <vfprintf+0xca>
672: 8d 32 cpi r24, 0x2D ; 45
674: 39 f0 breq .+14 ; 0x684 <vfprintf+0x84>
676: 80 33 cpi r24, 0x30 ; 48
678: 39 f4 brne .+14 ; 0x688 <vfprintf+0x88>
67a: 21 60 ori r18, 0x01 ; 1
67c: 26 c0 rjmp .+76 ; 0x6ca <vfprintf+0xca>
67e: 22 60 ori r18, 0x02 ; 2
680: 24 60 ori r18, 0x04 ; 4
682: 23 c0 rjmp .+70 ; 0x6ca <vfprintf+0xca>
684: 28 60 ori r18, 0x08 ; 8
686: 21 c0 rjmp .+66 ; 0x6ca <vfprintf+0xca>
688: 27 fd sbrc r18, 7
68a: 27 c0 rjmp .+78 ; 0x6da <vfprintf+0xda>
68c: 30 ed ldi r19, 0xD0 ; 208
68e: 38 0f add r19, r24
690: 3a 30 cpi r19, 0x0A ; 10
692: 78 f4 brcc .+30 ; 0x6b2 <vfprintf+0xb2>
694: 26 ff sbrs r18, 6
696: 06 c0 rjmp .+12 ; 0x6a4 <vfprintf+0xa4>
698: fa e0 ldi r31, 0x0A ; 10
69a: 5f 9e mul r5, r31
69c: 30 0d add r19, r0
69e: 11 24 eor r1, r1
6a0: 53 2e mov r5, r19
6a2: 13 c0 rjmp .+38 ; 0x6ca <vfprintf+0xca>
6a4: 8a e0 ldi r24, 0x0A ; 10
6a6: 38 9e mul r3, r24
6a8: 30 0d add r19, r0
6aa: 11 24 eor r1, r1
6ac: 33 2e mov r3, r19
6ae: 20 62 ori r18, 0x20 ; 32
6b0: 0c c0 rjmp .+24 ; 0x6ca <vfprintf+0xca>
6b2: 8e 32 cpi r24, 0x2E ; 46
6b4: 21 f4 brne .+8 ; 0x6be <vfprintf+0xbe>
6b6: 26 fd sbrc r18, 6
6b8: 6b c1 rjmp .+726 ; 0x990 <__stack+0x91>
6ba: 20 64 ori r18, 0x40 ; 64
6bc: 06 c0 rjmp .+12 ; 0x6ca <vfprintf+0xca>
6be: 8c 36 cpi r24, 0x6C ; 108
6c0: 11 f4 brne .+4 ; 0x6c6 <vfprintf+0xc6>
6c2: 20 68 ori r18, 0x80 ; 128
6c4: 02 c0 rjmp .+4 ; 0x6ca <vfprintf+0xca>
6c6: 88 36 cpi r24, 0x68 ; 104
6c8: 41 f4 brne .+16 ; 0x6da <vfprintf+0xda>
6ca: f6 01 movw r30, r12
6cc: 93 fd sbrc r25, 3
6ce: 85 91 lpm r24, Z+
6d0: 93 ff sbrs r25, 3
6d2: 81 91 ld r24, Z+
6d4: 6f 01 movw r12, r30
6d6: 81 11 cpse r24, r1
6d8: c1 cf rjmp .-126 ; 0x65c <vfprintf+0x5c>
6da: 98 2f mov r25, r24
6dc: 9f 7d andi r25, 0xDF ; 223
6de: 95 54 subi r25, 0x45 ; 69
6e0: 93 30 cpi r25, 0x03 ; 3
6e2: 28 f4 brcc .+10 ; 0x6ee <vfprintf+0xee>
6e4: 0c 5f subi r16, 0xFC ; 252
6e6: 1f 4f sbci r17, 0xFF ; 255
6e8: ff e3 ldi r31, 0x3F ; 63
6ea: f9 83 std Y+1, r31 ; 0x01
6ec: 0d c0 rjmp .+26 ; 0x708 <vfprintf+0x108>
6ee: 83 36 cpi r24, 0x63 ; 99
6f0: 31 f0 breq .+12 ; 0x6fe <vfprintf+0xfe>
6f2: 83 37 cpi r24, 0x73 ; 115
6f4: 71 f0 breq .+28 ; 0x712 <vfprintf+0x112>
6f6: 83 35 cpi r24, 0x53 ; 83
6f8: 09 f0 breq .+2 ; 0x6fc <vfprintf+0xfc>
6fa: 5b c0 rjmp .+182 ; 0x7b2 <vfprintf+0x1b2>
6fc: 22 c0 rjmp .+68 ; 0x742 <vfprintf+0x142>
6fe: f8 01 movw r30, r16
700: 80 81 ld r24, Z
702: 89 83 std Y+1, r24 ; 0x01
704: 0e 5f subi r16, 0xFE ; 254
706: 1f 4f sbci r17, 0xFF ; 255
708: 44 24 eor r4, r4
70a: 43 94 inc r4
70c: 51 2c mov r5, r1
70e: 54 01 movw r10, r8
710: 15 c0 rjmp .+42 ; 0x73c <vfprintf+0x13c>
712: 38 01 movw r6, r16
714: f2 e0 ldi r31, 0x02 ; 2
716: 6f 0e add r6, r31
718: 71 1c adc r7, r1
71a: f8 01 movw r30, r16
71c: a0 80 ld r10, Z
71e: b1 80 ldd r11, Z+1 ; 0x01
720: 26 ff sbrs r18, 6
722: 03 c0 rjmp .+6 ; 0x72a <vfprintf+0x12a>
724: 65 2d mov r22, r5
726: 70 e0 ldi r23, 0x00 ; 0
728: 02 c0 rjmp .+4 ; 0x72e <vfprintf+0x12e>
72a: 6f ef ldi r22, 0xFF ; 255
72c: 7f ef ldi r23, 0xFF ; 255
72e: c5 01 movw r24, r10
730: 2c 87 std Y+12, r18 ; 0x0c
732: 0e 94 dd 04 call 0x9ba ; 0x9ba <strnlen>
736: 2c 01 movw r4, r24
738: 83 01 movw r16, r6
73a: 2c 85 ldd r18, Y+12 ; 0x0c
73c: 2f 77 andi r18, 0x7F ; 127
73e: 22 2e mov r2, r18
740: 17 c0 rjmp .+46 ; 0x770 <vfprintf+0x170>
742: 38 01 movw r6, r16
744: f2 e0 ldi r31, 0x02 ; 2
746: 6f 0e add r6, r31
748: 71 1c adc r7, r1
74a: f8 01 movw r30, r16
74c: a0 80 ld r10, Z
74e: b1 80 ldd r11, Z+1 ; 0x01
750: 26 ff sbrs r18, 6
752: 03 c0 rjmp .+6 ; 0x75a <vfprintf+0x15a>
754: 65 2d mov r22, r5
756: 70 e0 ldi r23, 0x00 ; 0
758: 02 c0 rjmp .+4 ; 0x75e <vfprintf+0x15e>
75a: 6f ef ldi r22, 0xFF ; 255
75c: 7f ef ldi r23, 0xFF ; 255
75e: c5 01 movw r24, r10
760: 2c 87 std Y+12, r18 ; 0x0c
762: 0e 94 d2 04 call 0x9a4 ; 0x9a4 <strnlen_P>
766: 2c 01 movw r4, r24
768: 2c 85 ldd r18, Y+12 ; 0x0c
76a: 20 68 ori r18, 0x80 ; 128
76c: 22 2e mov r2, r18
76e: 83 01 movw r16, r6
770: 23 fc sbrc r2, 3
772: 1b c0 rjmp .+54 ; 0x7aa <vfprintf+0x1aa>
774: 83 2d mov r24, r3
776: 90 e0 ldi r25, 0x00 ; 0
778: 48 16 cp r4, r24
77a: 59 06 cpc r5, r25
77c: b0 f4 brcc .+44 ; 0x7aa <vfprintf+0x1aa>
77e: b7 01 movw r22, r14
780: 80 e2 ldi r24, 0x20 ; 32
782: 90 e0 ldi r25, 0x00 ; 0
784: 0e 94 e8 04 call 0x9d0 ; 0x9d0 <fputc>
788: 3a 94 dec r3
78a: f4 cf rjmp .-24 ; 0x774 <vfprintf+0x174>
78c: f5 01 movw r30, r10
78e: 27 fc sbrc r2, 7
790: 85 91 lpm r24, Z+
792: 27 fe sbrs r2, 7
794: 81 91 ld r24, Z+
796: 5f 01 movw r10, r30
798: b7 01 movw r22, r14
79a: 90 e0 ldi r25, 0x00 ; 0
79c: 0e 94 e8 04 call 0x9d0 ; 0x9d0 <fputc>
7a0: 31 10 cpse r3, r1
7a2: 3a 94 dec r3
7a4: f1 e0 ldi r31, 0x01 ; 1
7a6: 4f 1a sub r4, r31
7a8: 51 08 sbc r5, r1
7aa: 41 14 cp r4, r1
7ac: 51 04 cpc r5, r1
7ae: 71 f7 brne .-36 ; 0x78c <vfprintf+0x18c>
7b0: e5 c0 rjmp .+458 ; 0x97c <__stack+0x7d>
7b2: 84 36 cpi r24, 0x64 ; 100
7b4: 11 f0 breq .+4 ; 0x7ba <vfprintf+0x1ba>
7b6: 89 36 cpi r24, 0x69 ; 105
7b8: 39 f5 brne .+78 ; 0x808 <vfprintf+0x208>
7ba: f8 01 movw r30, r16
7bc: 27 ff sbrs r18, 7
7be: 07 c0 rjmp .+14 ; 0x7ce <vfprintf+0x1ce>
7c0: 60 81 ld r22, Z
7c2: 71 81 ldd r23, Z+1 ; 0x01
7c4: 82 81 ldd r24, Z+2 ; 0x02
7c6: 93 81 ldd r25, Z+3 ; 0x03
7c8: 0c 5f subi r16, 0xFC ; 252
7ca: 1f 4f sbci r17, 0xFF ; 255
7cc: 08 c0 rjmp .+16 ; 0x7de <vfprintf+0x1de>
7ce: 60 81 ld r22, Z
7d0: 71 81 ldd r23, Z+1 ; 0x01
7d2: 88 27 eor r24, r24
7d4: 77 fd sbrc r23, 7
7d6: 80 95 com r24
7d8: 98 2f mov r25, r24
7da: 0e 5f subi r16, 0xFE ; 254
7dc: 1f 4f sbci r17, 0xFF ; 255
7de: 2f 76 andi r18, 0x6F ; 111
7e0: b2 2e mov r11, r18
7e2: 97 ff sbrs r25, 7
7e4: 09 c0 rjmp .+18 ; 0x7f8 <vfprintf+0x1f8>
7e6: 90 95 com r25
7e8: 80 95 com r24
7ea: 70 95 com r23
7ec: 61 95 neg r22
7ee: 7f 4f sbci r23, 0xFF ; 255
7f0: 8f 4f sbci r24, 0xFF ; 255
7f2: 9f 4f sbci r25, 0xFF ; 255
7f4: 20 68 ori r18, 0x80 ; 128
7f6: b2 2e mov r11, r18
7f8: 2a e0 ldi r18, 0x0A ; 10
7fa: 30 e0 ldi r19, 0x00 ; 0
7fc: a4 01 movw r20, r8
7fe: 0e 94 1a 05 call 0xa34 ; 0xa34 <__ultoa_invert>
802: a8 2e mov r10, r24
804: a8 18 sub r10, r8
806: 44 c0 rjmp .+136 ; 0x890 <vfprintf+0x290>
808: 85 37 cpi r24, 0x75 ; 117
80a: 29 f4 brne .+10 ; 0x816 <vfprintf+0x216>
80c: 2f 7e andi r18, 0xEF ; 239
80e: b2 2e mov r11, r18
810: 2a e0 ldi r18, 0x0A ; 10
812: 30 e0 ldi r19, 0x00 ; 0
814: 25 c0 rjmp .+74 ; 0x860 <vfprintf+0x260>
816: f2 2f mov r31, r18
818: f9 7f andi r31, 0xF9 ; 249
81a: bf 2e mov r11, r31
81c: 8f 36 cpi r24, 0x6F ; 111
81e: c1 f0 breq .+48 ; 0x850 <vfprintf+0x250>
820: 18 f4 brcc .+6 ; 0x828 <vfprintf+0x228>
822: 88 35 cpi r24, 0x58 ; 88
824: 79 f0 breq .+30 ; 0x844 <vfprintf+0x244>
826: b4 c0 rjmp .+360 ; 0x990 <__stack+0x91>
828: 80 37 cpi r24, 0x70 ; 112
82a: 19 f0 breq .+6 ; 0x832 <vfprintf+0x232>
82c: 88 37 cpi r24, 0x78 ; 120
82e: 21 f0 breq .+8 ; 0x838 <vfprintf+0x238>
830: af c0 rjmp .+350 ; 0x990 <__stack+0x91>
832: 2f 2f mov r18, r31
834: 20 61 ori r18, 0x10 ; 16
836: b2 2e mov r11, r18
838: b4 fe sbrs r11, 4
83a: 0d c0 rjmp .+26 ; 0x856 <vfprintf+0x256>
83c: 8b 2d mov r24, r11
83e: 84 60 ori r24, 0x04 ; 4
840: b8 2e mov r11, r24
842: 09 c0 rjmp .+18 ; 0x856 <vfprintf+0x256>
844: 24 ff sbrs r18, 4
846: 0a c0 rjmp .+20 ; 0x85c <vfprintf+0x25c>
848: 9f 2f mov r25, r31
84a: 96 60 ori r25, 0x06 ; 6
84c: b9 2e mov r11, r25
84e: 06 c0 rjmp .+12 ; 0x85c <vfprintf+0x25c>
850: 28 e0 ldi r18, 0x08 ; 8
852: 30 e0 ldi r19, 0x00 ; 0
854: 05 c0 rjmp .+10 ; 0x860 <vfprintf+0x260>
856: 20 e1 ldi r18, 0x10 ; 16
858: 30 e0 ldi r19, 0x00 ; 0
85a: 02 c0 rjmp .+4 ; 0x860 <vfprintf+0x260>
85c: 20 e1 ldi r18, 0x10 ; 16
85e: 32 e0 ldi r19, 0x02 ; 2
860: f8 01 movw r30, r16
862: b7 fe sbrs r11, 7
864: 07 c0 rjmp .+14 ; 0x874 <vfprintf+0x274>
866: 60 81 ld r22, Z
868: 71 81 ldd r23, Z+1 ; 0x01
86a: 82 81 ldd r24, Z+2 ; 0x02
86c: 93 81 ldd r25, Z+3 ; 0x03
86e: 0c 5f subi r16, 0xFC ; 252
870: 1f 4f sbci r17, 0xFF ; 255
872: 06 c0 rjmp .+12 ; 0x880 <vfprintf+0x280>
874: 60 81 ld r22, Z
876: 71 81 ldd r23, Z+1 ; 0x01
878: 80 e0 ldi r24, 0x00 ; 0
87a: 90 e0 ldi r25, 0x00 ; 0
87c: 0e 5f subi r16, 0xFE ; 254
87e: 1f 4f sbci r17, 0xFF ; 255
880: a4 01 movw r20, r8
882: 0e 94 1a 05 call 0xa34 ; 0xa34 <__ultoa_invert>
886: a8 2e mov r10, r24
888: a8 18 sub r10, r8
88a: fb 2d mov r31, r11
88c: ff 77 andi r31, 0x7F ; 127
88e: bf 2e mov r11, r31
890: b6 fe sbrs r11, 6
892: 0b c0 rjmp .+22 ; 0x8aa <vfprintf+0x2aa>
894: 2b 2d mov r18, r11
896: 2e 7f andi r18, 0xFE ; 254
898: a5 14 cp r10, r5
89a: 50 f4 brcc .+20 ; 0x8b0 <vfprintf+0x2b0>
89c: b4 fe sbrs r11, 4
89e: 0a c0 rjmp .+20 ; 0x8b4 <vfprintf+0x2b4>
8a0: b2 fc sbrc r11, 2
8a2: 08 c0 rjmp .+16 ; 0x8b4 <vfprintf+0x2b4>
8a4: 2b 2d mov r18, r11
8a6: 2e 7e andi r18, 0xEE ; 238
8a8: 05 c0 rjmp .+10 ; 0x8b4 <vfprintf+0x2b4>
8aa: 7a 2c mov r7, r10
8ac: 2b 2d mov r18, r11
8ae: 03 c0 rjmp .+6 ; 0x8b6 <vfprintf+0x2b6>
8b0: 7a 2c mov r7, r10
8b2: 01 c0 rjmp .+2 ; 0x8b6 <vfprintf+0x2b6>
8b4: 75 2c mov r7, r5
8b6: 24 ff sbrs r18, 4
8b8: 0d c0 rjmp .+26 ; 0x8d4 <vfprintf+0x2d4>
8ba: fe 01 movw r30, r28
8bc: ea 0d add r30, r10
8be: f1 1d adc r31, r1
8c0: 80 81 ld r24, Z
8c2: 80 33 cpi r24, 0x30 ; 48
8c4: 11 f4 brne .+4 ; 0x8ca <vfprintf+0x2ca>
8c6: 29 7e andi r18, 0xE9 ; 233
8c8: 09 c0 rjmp .+18 ; 0x8dc <vfprintf+0x2dc>
8ca: 22 ff sbrs r18, 2
8cc: 06 c0 rjmp .+12 ; 0x8da <vfprintf+0x2da>
8ce: 73 94 inc r7
8d0: 73 94 inc r7
8d2: 04 c0 rjmp .+8 ; 0x8dc <vfprintf+0x2dc>
8d4: 82 2f mov r24, r18
8d6: 86 78 andi r24, 0x86 ; 134
8d8: 09 f0 breq .+2 ; 0x8dc <vfprintf+0x2dc>
8da: 73 94 inc r7
8dc: 23 fd sbrc r18, 3
8de: 13 c0 rjmp .+38 ; 0x906 <__stack+0x7>
8e0: 20 ff sbrs r18, 0
8e2: 06 c0 rjmp .+12 ; 0x8f0 <vfprintf+0x2f0>
8e4: 5a 2c mov r5, r10
8e6: 73 14 cp r7, r3
8e8: 18 f4 brcc .+6 ; 0x8f0 <vfprintf+0x2f0>
8ea: 53 0c add r5, r3
8ec: 57 18 sub r5, r7
8ee: 73 2c mov r7, r3
8f0: 73 14 cp r7, r3
8f2: 68 f4 brcc .+26 ; 0x90e <__stack+0xf>
8f4: b7 01 movw r22, r14
8f6: 80 e2 ldi r24, 0x20 ; 32
8f8: 90 e0 ldi r25, 0x00 ; 0
8fa: 2c 87 std Y+12, r18 ; 0x0c
8fc: 0e 94 e8 04 call 0x9d0 ; 0x9d0 <fputc>
900: 73 94 inc r7
902: 2c 85 ldd r18, Y+12 ; 0x0c
904: f5 cf rjmp .-22 ; 0x8f0 <vfprintf+0x2f0>
906: 73 14 cp r7, r3
908: 10 f4 brcc .+4 ; 0x90e <__stack+0xf>
90a: 37 18 sub r3, r7
90c: 01 c0 rjmp .+2 ; 0x910 <__stack+0x11>
90e: 31 2c mov r3, r1
910: 24 ff sbrs r18, 4
912: 12 c0 rjmp .+36 ; 0x938 <__stack+0x39>
914: b7 01 movw r22, r14
916: 80 e3 ldi r24, 0x30 ; 48
918: 90 e0 ldi r25, 0x00 ; 0
91a: 2c 87 std Y+12, r18 ; 0x0c
91c: 0e 94 e8 04 call 0x9d0 ; 0x9d0 <fputc>
920: 2c 85 ldd r18, Y+12 ; 0x0c
922: 22 ff sbrs r18, 2
924: 17 c0 rjmp .+46 ; 0x954 <__stack+0x55>
926: 21 ff sbrs r18, 1
928: 03 c0 rjmp .+6 ; 0x930 <__stack+0x31>
92a: 88 e5 ldi r24, 0x58 ; 88
92c: 90 e0 ldi r25, 0x00 ; 0
92e: 02 c0 rjmp .+4 ; 0x934 <__stack+0x35>
930: 88 e7 ldi r24, 0x78 ; 120
932: 90 e0 ldi r25, 0x00 ; 0
934: b7 01 movw r22, r14
936: 0c c0 rjmp .+24 ; 0x950 <__stack+0x51>
938: 82 2f mov r24, r18
93a: 86 78 andi r24, 0x86 ; 134
93c: 59 f0 breq .+22 ; 0x954 <__stack+0x55>
93e: 21 fd sbrc r18, 1
940: 02 c0 rjmp .+4 ; 0x946 <__stack+0x47>
942: 80 e2 ldi r24, 0x20 ; 32
944: 01 c0 rjmp .+2 ; 0x948 <__stack+0x49>
946: 8b e2 ldi r24, 0x2B ; 43
948: 27 fd sbrc r18, 7
94a: 8d e2 ldi r24, 0x2D ; 45
94c: b7 01 movw r22, r14
94e: 90 e0 ldi r25, 0x00 ; 0
950: 0e 94 e8 04 call 0x9d0 ; 0x9d0 <fputc>
954: a5 14 cp r10, r5
956: 38 f4 brcc .+14 ; 0x966 <__stack+0x67>
958: b7 01 movw r22, r14
95a: 80 e3 ldi r24, 0x30 ; 48
95c: 90 e0 ldi r25, 0x00 ; 0
95e: 0e 94 e8 04 call 0x9d0 ; 0x9d0 <fputc>
962: 5a 94 dec r5
964: f7 cf rjmp .-18 ; 0x954 <__stack+0x55>
966: aa 94 dec r10
968: f4 01 movw r30, r8
96a: ea 0d add r30, r10
96c: f1 1d adc r31, r1
96e: 80 81 ld r24, Z
970: b7 01 movw r22, r14
972: 90 e0 ldi r25, 0x00 ; 0
974: 0e 94 e8 04 call 0x9d0 ; 0x9d0 <fputc>
978: a1 10 cpse r10, r1
97a: f5 cf rjmp .-22 ; 0x966 <__stack+0x67>
97c: 33 20 and r3, r3
97e: 09 f4 brne .+2 ; 0x982 <__stack+0x83>
980: 51 ce rjmp .-862 ; 0x624 <vfprintf+0x24>
982: b7 01 movw r22, r14
984: 80 e2 ldi r24, 0x20 ; 32
986: 90 e0 ldi r25, 0x00 ; 0
988: 0e 94 e8 04 call 0x9d0 ; 0x9d0 <fputc>
98c: 3a 94 dec r3
98e: f6 cf rjmp .-20 ; 0x97c <__stack+0x7d>
990: f7 01 movw r30, r14
992: 86 81 ldd r24, Z+6 ; 0x06
994: 97 81 ldd r25, Z+7 ; 0x07
996: 02 c0 rjmp .+4 ; 0x99c <__stack+0x9d>
998: 8f ef ldi r24, 0xFF ; 255
99a: 9f ef ldi r25, 0xFF ; 255
99c: 2c 96 adiw r28, 0x0c ; 12
99e: e2 e1 ldi r30, 0x12 ; 18
9a0: 0c 94 94 05 jmp 0xb28 ; 0xb28 <__epilogue_restores__>
000009a4 <strnlen_P>:
9a4: fc 01 movw r30, r24
9a6: 05 90 lpm r0, Z+
9a8: 61 50 subi r22, 0x01 ; 1
9aa: 70 40 sbci r23, 0x00 ; 0
9ac: 01 10 cpse r0, r1
9ae: d8 f7 brcc .-10 ; 0x9a6 <strnlen_P+0x2>
9b0: 80 95 com r24
9b2: 90 95 com r25
9b4: 8e 0f add r24, r30
9b6: 9f 1f adc r25, r31
9b8: 08 95 ret
000009ba <strnlen>:
9ba: fc 01 movw r30, r24
9bc: 61 50 subi r22, 0x01 ; 1
9be: 70 40 sbci r23, 0x00 ; 0
9c0: 01 90 ld r0, Z+
9c2: 01 10 cpse r0, r1
9c4: d8 f7 brcc .-10 ; 0x9bc <strnlen+0x2>
9c6: 80 95 com r24
9c8: 90 95 com r25
9ca: 8e 0f add r24, r30
9cc: 9f 1f adc r25, r31
9ce: 08 95 ret
000009d0 <fputc>:
9d0: 0f 93 push r16
9d2: 1f 93 push r17
9d4: cf 93 push r28
9d6: df 93 push r29
9d8: 18 2f mov r17, r24
9da: 09 2f mov r16, r25
9dc: eb 01 movw r28, r22
9de: 8b 81 ldd r24, Y+3 ; 0x03
9e0: 81 fd sbrc r24, 1
9e2: 03 c0 rjmp .+6 ; 0x9ea <fputc+0x1a>
9e4: 8f ef ldi r24, 0xFF ; 255
9e6: 9f ef ldi r25, 0xFF ; 255
9e8: 20 c0 rjmp .+64 ; 0xa2a <fputc+0x5a>
9ea: 82 ff sbrs r24, 2
9ec: 10 c0 rjmp .+32 ; 0xa0e <fputc+0x3e>
9ee: 4e 81 ldd r20, Y+6 ; 0x06
9f0: 5f 81 ldd r21, Y+7 ; 0x07
9f2: 2c 81 ldd r18, Y+4 ; 0x04
9f4: 3d 81 ldd r19, Y+5 ; 0x05
9f6: 42 17 cp r20, r18
9f8: 53 07 cpc r21, r19
9fa: 7c f4 brge .+30 ; 0xa1a <fputc+0x4a>
9fc: e8 81 ld r30, Y
9fe: f9 81 ldd r31, Y+1 ; 0x01
a00: 9f 01 movw r18, r30
a02: 2f 5f subi r18, 0xFF ; 255
a04: 3f 4f sbci r19, 0xFF ; 255
a06: 39 83 std Y+1, r19 ; 0x01
a08: 28 83 st Y, r18
a0a: 10 83 st Z, r17
a0c: 06 c0 rjmp .+12 ; 0xa1a <fputc+0x4a>
a0e: e8 85 ldd r30, Y+8 ; 0x08
a10: f9 85 ldd r31, Y+9 ; 0x09
a12: 81 2f mov r24, r17
a14: 09 95 icall
a16: 89 2b or r24, r25
a18: 29 f7 brne .-54 ; 0x9e4 <fputc+0x14>
a1a: 2e 81 ldd r18, Y+6 ; 0x06
a1c: 3f 81 ldd r19, Y+7 ; 0x07
a1e: 2f 5f subi r18, 0xFF ; 255
a20: 3f 4f sbci r19, 0xFF ; 255
a22: 3f 83 std Y+7, r19 ; 0x07
a24: 2e 83 std Y+6, r18 ; 0x06
a26: 81 2f mov r24, r17
a28: 90 2f mov r25, r16
a2a: df 91 pop r29
a2c: cf 91 pop r28
a2e: 1f 91 pop r17
a30: 0f 91 pop r16
a32: 08 95 ret
00000a34 <__ultoa_invert>:
a34: fa 01 movw r30, r20
a36: aa 27 eor r26, r26
a38: 28 30 cpi r18, 0x08 ; 8
a3a: 51 f1 breq .+84 ; 0xa90 <__ultoa_invert+0x5c>
a3c: 20 31 cpi r18, 0x10 ; 16
a3e: 81 f1 breq .+96 ; 0xaa0 <__ultoa_invert+0x6c>
a40: e8 94 clt
a42: 6f 93 push r22
a44: 6e 7f andi r22, 0xFE ; 254
a46: 6e 5f subi r22, 0xFE ; 254
a48: 7f 4f sbci r23, 0xFF ; 255
a4a: 8f 4f sbci r24, 0xFF ; 255
a4c: 9f 4f sbci r25, 0xFF ; 255
a4e: af 4f sbci r26, 0xFF ; 255
a50: b1 e0 ldi r27, 0x01 ; 1
a52: 3e d0 rcall .+124 ; 0xad0 <__ultoa_invert+0x9c>
a54: b4 e0 ldi r27, 0x04 ; 4
a56: 3c d0 rcall .+120 ; 0xad0 <__ultoa_invert+0x9c>
a58: 67 0f add r22, r23
a5a: 78 1f adc r23, r24
a5c: 89 1f adc r24, r25
a5e: 9a 1f adc r25, r26
a60: a1 1d adc r26, r1
a62: 68 0f add r22, r24
a64: 79 1f adc r23, r25
a66: 8a 1f adc r24, r26
a68: 91 1d adc r25, r1
a6a: a1 1d adc r26, r1
a6c: 6a 0f add r22, r26
a6e: 71 1d adc r23, r1
a70: 81 1d adc r24, r1
a72: 91 1d adc r25, r1
a74: a1 1d adc r26, r1
a76: 20 d0 rcall .+64 ; 0xab8 <__ultoa_invert+0x84>
a78: 09 f4 brne .+2 ; 0xa7c <__ultoa_invert+0x48>
a7a: 68 94 set
a7c: 3f 91 pop r19
a7e: 2a e0 ldi r18, 0x0A ; 10
a80: 26 9f mul r18, r22
a82: 11 24 eor r1, r1
a84: 30 19 sub r19, r0
a86: 30 5d subi r19, 0xD0 ; 208
a88: 31 93 st Z+, r19
a8a: de f6 brtc .-74 ; 0xa42 <__ultoa_invert+0xe>
a8c: cf 01 movw r24, r30
a8e: 08 95 ret
a90: 46 2f mov r20, r22
a92: 47 70 andi r20, 0x07 ; 7
a94: 40 5d subi r20, 0xD0 ; 208
a96: 41 93 st Z+, r20
a98: b3 e0 ldi r27, 0x03 ; 3
a9a: 0f d0 rcall .+30 ; 0xaba <__ultoa_invert+0x86>
a9c: c9 f7 brne .-14 ; 0xa90 <__ultoa_invert+0x5c>
a9e: f6 cf rjmp .-20 ; 0xa8c <__ultoa_invert+0x58>
aa0: 46 2f mov r20, r22
aa2: 4f 70 andi r20, 0x0F ; 15
aa4: 40 5d subi r20, 0xD0 ; 208
aa6: 4a 33 cpi r20, 0x3A ; 58
aa8: 18 f0 brcs .+6 ; 0xab0 <__ultoa_invert+0x7c>
aaa: 49 5d subi r20, 0xD9 ; 217
aac: 31 fd sbrc r19, 1
aae: 40 52 subi r20, 0x20 ; 32
ab0: 41 93 st Z+, r20
ab2: 02 d0 rcall .+4 ; 0xab8 <__ultoa_invert+0x84>
ab4: a9 f7 brne .-22 ; 0xaa0 <__ultoa_invert+0x6c>
ab6: ea cf rjmp .-44 ; 0xa8c <__ultoa_invert+0x58>
ab8: b4 e0 ldi r27, 0x04 ; 4
aba: a6 95 lsr r26
abc: 97 95 ror r25
abe: 87 95 ror r24
ac0: 77 95 ror r23
ac2: 67 95 ror r22
ac4: ba 95 dec r27
ac6: c9 f7 brne .-14 ; 0xaba <__ultoa_invert+0x86>
ac8: 00 97 sbiw r24, 0x00 ; 0
aca: 61 05 cpc r22, r1
acc: 71 05 cpc r23, r1
ace: 08 95 ret
ad0: 9b 01 movw r18, r22
ad2: ac 01 movw r20, r24
ad4: 0a 2e mov r0, r26
ad6: 06 94 lsr r0
ad8: 57 95 ror r21
ada: 47 95 ror r20
adc: 37 95 ror r19
ade: 27 95 ror r18
ae0: ba 95 dec r27
ae2: c9 f7 brne .-14 ; 0xad6 <__ultoa_invert+0xa2>
ae4: 62 0f add r22, r18
ae6: 73 1f adc r23, r19
ae8: 84 1f adc r24, r20
aea: 95 1f adc r25, r21
aec: a0 1d adc r26, r0
aee: 08 95 ret
00000af0 <__prologue_saves__>:
af0: 2f 92 push r2
af2: 3f 92 push r3
af4: 4f 92 push r4
af6: 5f 92 push r5
af8: 6f 92 push r6
afa: 7f 92 push r7
afc: 8f 92 push r8
afe: 9f 92 push r9
b00: af 92 push r10
b02: bf 92 push r11
b04: cf 92 push r12
b06: df 92 push r13
b08: ef 92 push r14
b0a: ff 92 push r15
b0c: 0f 93 push r16
b0e: 1f 93 push r17
b10: cf 93 push r28
b12: df 93 push r29
b14: cd b7 in r28, 0x3d ; 61
b16: de b7 in r29, 0x3e ; 62
b18: ca 1b sub r28, r26
b1a: db 0b sbc r29, r27
b1c: 0f b6 in r0, 0x3f ; 63
b1e: f8 94 cli
b20: de bf out 0x3e, r29 ; 62
b22: 0f be out 0x3f, r0 ; 63
b24: cd bf out 0x3d, r28 ; 61
b26: 09 94 ijmp
00000b28 <__epilogue_restores__>:
b28: 2a 88 ldd r2, Y+18 ; 0x12
b2a: 39 88 ldd r3, Y+17 ; 0x11
b2c: 48 88 ldd r4, Y+16 ; 0x10
b2e: 5f 84 ldd r5, Y+15 ; 0x0f
b30: 6e 84 ldd r6, Y+14 ; 0x0e
b32: 7d 84 ldd r7, Y+13 ; 0x0d
b34: 8c 84 ldd r8, Y+12 ; 0x0c
b36: 9b 84 ldd r9, Y+11 ; 0x0b
b38: aa 84 ldd r10, Y+10 ; 0x0a
b3a: b9 84 ldd r11, Y+9 ; 0x09
b3c: c8 84 ldd r12, Y+8 ; 0x08
b3e: df 80 ldd r13, Y+7 ; 0x07
b40: ee 80 ldd r14, Y+6 ; 0x06
b42: fd 80 ldd r15, Y+5 ; 0x05
b44: 0c 81 ldd r16, Y+4 ; 0x04
b46: 1b 81 ldd r17, Y+3 ; 0x03
b48: aa 81 ldd r26, Y+2 ; 0x02
b4a: b9 81 ldd r27, Y+1 ; 0x01
b4c: ce 0f add r28, r30
b4e: d1 1d adc r29, r1
b50: 0f b6 in r0, 0x3f ; 63
b52: f8 94 cli
b54: de bf out 0x3e, r29 ; 62
b56: 0f be out 0x3f, r0 ; 63
b58: cd bf out 0x3d, r28 ; 61
b5a: ed 01 movw r28, r26
b5c: 08 95 ret
00000b5e <_exit>:
b5e: f8 94 cli
00000b60 <__stop_program>:
b60: ff cf rjmp .-2 ; 0xb60 <__stop_program>