1798 lines
65 KiB
Plaintext
1798 lines
65 KiB
Plaintext
|
||
Laminator.elf: file format elf32-avr
|
||
|
||
Sections:
|
||
Idx Name Size VMA LMA File off Algn
|
||
0 .text 00000bea 00000000 00000000 00000094 2**1
|
||
CONTENTS, ALLOC, LOAD, READONLY, CODE
|
||
1 .data 00000048 00800060 00000bea 00000c7e 2**0
|
||
CONTENTS, ALLOC, LOAD, DATA
|
||
2 .bss 00000011 008000a8 008000a8 00000cc6 2**0
|
||
ALLOC
|
||
3 .stab 000021cc 00000000 00000000 00000cc8 2**2
|
||
CONTENTS, READONLY, DEBUGGING
|
||
4 .stabstr 00000716 00000000 00000000 00002e94 2**0
|
||
CONTENTS, READONLY, DEBUGGING
|
||
5 .debug_aranges 00000140 00000000 00000000 000035b0 2**3
|
||
CONTENTS, READONLY, DEBUGGING
|
||
6 .debug_info 000012b4 00000000 00000000 000036f0 2**0
|
||
CONTENTS, READONLY, DEBUGGING
|
||
7 .debug_abbrev 000007e6 00000000 00000000 000049a4 2**0
|
||
CONTENTS, READONLY, DEBUGGING
|
||
8 .debug_line 00000b66 00000000 00000000 0000518a 2**0
|
||
CONTENTS, READONLY, DEBUGGING
|
||
9 .debug_frame 000001c0 00000000 00000000 00005cf0 2**2
|
||
CONTENTS, READONLY, DEBUGGING
|
||
10 .debug_str 000003ee 00000000 00000000 00005eb0 2**0
|
||
CONTENTS, READONLY, DEBUGGING
|
||
11 .debug_loc 000009cc 00000000 00000000 0000629e 2**0
|
||
CONTENTS, READONLY, DEBUGGING
|
||
12 .debug_ranges 00000040 00000000 00000000 00006c6a 2**0
|
||
CONTENTS, READONLY, DEBUGGING
|
||
|
||
Disassembly of section .text:
|
||
|
||
00000000 <__vectors>:
|
||
0: 12 c0 rjmp .+36 ; 0x26 <__ctors_end>
|
||
2: 2c c0 rjmp .+88 ; 0x5c <__bad_interrupt>
|
||
4: 2b c0 rjmp .+86 ; 0x5c <__bad_interrupt>
|
||
6: 2a c0 rjmp .+84 ; 0x5c <__bad_interrupt>
|
||
8: 29 c0 rjmp .+82 ; 0x5c <__bad_interrupt>
|
||
a: 28 c0 rjmp .+80 ; 0x5c <__bad_interrupt>
|
||
c: 27 c0 rjmp .+78 ; 0x5c <__bad_interrupt>
|
||
e: 26 c0 rjmp .+76 ; 0x5c <__bad_interrupt>
|
||
10: 25 c0 rjmp .+74 ; 0x5c <__bad_interrupt>
|
||
12: 24 c0 rjmp .+72 ; 0x5c <__bad_interrupt>
|
||
14: 23 c0 rjmp .+70 ; 0x5c <__bad_interrupt>
|
||
16: 30 c0 rjmp .+96 ; 0x78 <__vector_11>
|
||
18: 21 c0 rjmp .+66 ; 0x5c <__bad_interrupt>
|
||
1a: 20 c0 rjmp .+64 ; 0x5c <__bad_interrupt>
|
||
1c: 1f c0 rjmp .+62 ; 0x5c <__bad_interrupt>
|
||
1e: 1e c0 rjmp .+60 ; 0x5c <__bad_interrupt>
|
||
20: 1d c0 rjmp .+58 ; 0x5c <__bad_interrupt>
|
||
22: 1c c0 rjmp .+56 ; 0x5c <__bad_interrupt>
|
||
24: 1b c0 rjmp .+54 ; 0x5c <__bad_interrupt>
|
||
|
||
00000026 <__ctors_end>:
|
||
26: 11 24 eor r1, r1
|
||
28: 1f be out 0x3f, r1 ; 63
|
||
2a: cf e5 ldi r28, 0x5F ; 95
|
||
2c: d4 e0 ldi r29, 0x04 ; 4
|
||
2e: de bf out 0x3e, r29 ; 62
|
||
30: cd bf out 0x3d, r28 ; 61
|
||
|
||
00000032 <__do_copy_data>:
|
||
32: 10 e0 ldi r17, 0x00 ; 0
|
||
34: a0 e6 ldi r26, 0x60 ; 96
|
||
36: b0 e0 ldi r27, 0x00 ; 0
|
||
38: ea ee ldi r30, 0xEA ; 234
|
||
3a: fb e0 ldi r31, 0x0B ; 11
|
||
3c: 02 c0 rjmp .+4 ; 0x42 <__SREG__+0x3>
|
||
3e: 05 90 lpm r0, Z+
|
||
40: 0d 92 st X+, r0
|
||
42: a8 3a cpi r26, 0xA8 ; 168
|
||
44: b1 07 cpc r27, r17
|
||
46: d9 f7 brne .-10 ; 0x3e <__SP_H__>
|
||
|
||
00000048 <__do_clear_bss>:
|
||
48: 10 e0 ldi r17, 0x00 ; 0
|
||
4a: a8 ea ldi r26, 0xA8 ; 168
|
||
4c: b0 e0 ldi r27, 0x00 ; 0
|
||
4e: 01 c0 rjmp .+2 ; 0x52 <.do_clear_bss_start>
|
||
|
||
00000050 <.do_clear_bss_loop>:
|
||
50: 1d 92 st X+, r1
|
||
|
||
00000052 <.do_clear_bss_start>:
|
||
52: a9 3b cpi r26, 0xB9 ; 185
|
||
54: b1 07 cpc r27, r17
|
||
56: e1 f7 brne .-8 ; 0x50 <.do_clear_bss_loop>
|
||
58: be d0 rcall .+380 ; 0x1d6 <main>
|
||
5a: c5 c5 rjmp .+2954 ; 0xbe6 <_exit>
|
||
|
||
0000005c <__bad_interrupt>:
|
||
5c: d1 cf rjmp .-94 ; 0x0 <__vectors>
|
||
|
||
0000005e <uart_putchar>:
|
||
}
|
||
}
|
||
|
||
int uart_putchar(char c, FILE *stream)
|
||
//############################################################################
|
||
{
|
||
5e: cf 93 push r28
|
||
60: c8 2f mov r28, r24
|
||
if (c == '\n')
|
||
62: 8a 30 cpi r24, 0x0A ; 10
|
||
64: 11 f4 brne .+4 ; 0x6a <uart_putchar+0xc>
|
||
uart_putchar('\r', stream);
|
||
66: 8d e0 ldi r24, 0x0D ; 13
|
||
68: fa df rcall .-12 ; 0x5e <uart_putchar>
|
||
//Warten solange bis Zeichen gesendet wurde
|
||
loop_until_bit_is_set(UCSRA, UDRE);
|
||
6a: 5d 9b sbis 0x0b, 5 ; 11
|
||
6c: fe cf rjmp .-4 ; 0x6a <uart_putchar+0xc>
|
||
//Ausgabe des Zeichens
|
||
UDR = c;
|
||
6e: cc b9 out 0x0c, r28 ; 12
|
||
return (0);
|
||
}
|
||
70: 80 e0 ldi r24, 0x00 ; 0
|
||
72: 90 e0 ldi r25, 0x00 ; 0
|
||
74: cf 91 pop r28
|
||
76: 08 95 ret
|
||
|
||
00000078 <__vector_11>:
|
||
|
||
int uart_putchar(char c, FILE *stream);
|
||
|
||
static FILE mystdout = FDEV_SETUP_STREAM(uart_putchar, NULL, _FDEV_SETUP_WRITE);
|
||
|
||
ISR(USART_RXC_vect) {
|
||
78: 1f 92 push r1
|
||
7a: 0f 92 push r0
|
||
7c: 0f b6 in r0, 0x3f ; 63
|
||
7e: 0f 92 push r0
|
||
80: 11 24 eor r1, r1
|
||
82: 2f 93 push r18
|
||
84: 3f 93 push r19
|
||
86: 4f 93 push r20
|
||
88: 5f 93 push r21
|
||
8a: 6f 93 push r22
|
||
8c: 7f 93 push r23
|
||
8e: 8f 93 push r24
|
||
90: 9f 93 push r25
|
||
92: ef 93 push r30
|
||
94: ff 93 push r31
|
||
unsigned char nextChar;
|
||
|
||
// Daten aus dem Puffer lesen
|
||
nextChar = UDR;
|
||
96: 8c b1 in r24, 0x0c ; 12
|
||
if( nextChar != '\n' && nextChar != '\r' && uart_str_count < UART_MAXSTRLEN ) {
|
||
98: 8a 30 cpi r24, 0x0A ; 10
|
||
9a: 99 f0 breq .+38 ; 0xc2 <__vector_11+0x4a>
|
||
9c: 8d 30 cpi r24, 0x0D ; 13
|
||
9e: 89 f0 breq .+34 ; 0xc2 <__vector_11+0x4a>
|
||
a0: 90 91 b2 00 lds r25, 0x00B2
|
||
a4: 9a 30 cpi r25, 0x0A ; 10
|
||
a6: 68 f4 brcc .+26 ; 0xc2 <__vector_11+0x4a>
|
||
uart_string[uart_str_count] = nextChar;
|
||
a8: 90 91 b2 00 lds r25, 0x00B2
|
||
ac: e8 ea ldi r30, 0xA8 ; 168
|
||
ae: f0 e0 ldi r31, 0x00 ; 0
|
||
b0: e9 0f add r30, r25
|
||
b2: f1 1d adc r31, r1
|
||
b4: 80 83 st Z, r24
|
||
uart_str_count++;
|
||
b6: 80 91 b2 00 lds r24, 0x00B2
|
||
ba: 8f 5f subi r24, 0xFF ; 255
|
||
bc: 80 93 b2 00 sts 0x00B2, r24
|
||
c0: 3c c0 rjmp .+120 ; 0x13a <__vector_11+0xc2>
|
||
} else {
|
||
if(uart_string[0] == 't') {
|
||
c2: 80 91 a8 00 lds r24, 0x00A8
|
||
c6: 84 37 cpi r24, 0x74 ; 116
|
||
c8: 29 f5 brne .+74 ; 0x114 <__vector_11+0x9c>
|
||
sollwert = (uart_string[1]-48)*100+(uart_string[2]-48)*10+(uart_string[3]-48);
|
||
ca: 40 91 a9 00 lds r20, 0x00A9
|
||
ce: 70 91 aa 00 lds r23, 0x00AA
|
||
d2: 60 91 ab 00 lds r22, 0x00AB
|
||
d6: 50 e0 ldi r21, 0x00 ; 0
|
||
d8: 24 e6 ldi r18, 0x64 ; 100
|
||
da: 30 e0 ldi r19, 0x00 ; 0
|
||
dc: 42 9f mul r20, r18
|
||
de: c0 01 movw r24, r0
|
||
e0: 43 9f mul r20, r19
|
||
e2: 90 0d add r25, r0
|
||
e4: 52 9f mul r21, r18
|
||
e6: 90 0d add r25, r0
|
||
e8: 11 24 eor r1, r1
|
||
ea: 27 2f mov r18, r23
|
||
ec: 30 e0 ldi r19, 0x00 ; 0
|
||
ee: 22 0f add r18, r18
|
||
f0: 33 1f adc r19, r19
|
||
f2: a9 01 movw r20, r18
|
||
f4: 44 0f add r20, r20
|
||
f6: 55 1f adc r21, r21
|
||
f8: 44 0f add r20, r20
|
||
fa: 55 1f adc r21, r21
|
||
fc: 24 0f add r18, r20
|
||
fe: 35 1f adc r19, r21
|
||
100: 82 0f add r24, r18
|
||
102: 93 1f adc r25, r19
|
||
104: 86 0f add r24, r22
|
||
106: 91 1d adc r25, r1
|
||
108: 80 5d subi r24, 0xD0 ; 208
|
||
10a: 94 41 sbci r25, 0x14 ; 20
|
||
10c: 90 93 98 00 sts 0x0098, r25
|
||
110: 80 93 97 00 sts 0x0097, r24
|
||
}
|
||
if(uart_string[0] == 'm') {
|
||
114: 80 91 a8 00 lds r24, 0x00A8
|
||
118: 8d 36 cpi r24, 0x6D ; 109
|
||
11a: 69 f4 brne .+26 ; 0x136 <__vector_11+0xbe>
|
||
motor = (uart_string[1]-48)*10+(uart_string[2]-48);
|
||
11c: 80 91 a9 00 lds r24, 0x00A9
|
||
120: 90 91 aa 00 lds r25, 0x00AA
|
||
124: 90 51 subi r25, 0x10 ; 16
|
||
126: 88 0f add r24, r24
|
||
128: 28 2f mov r18, r24
|
||
12a: 22 0f add r18, r18
|
||
12c: 22 0f add r18, r18
|
||
12e: 82 0f add r24, r18
|
||
130: 89 0f add r24, r25
|
||
132: 80 93 96 00 sts 0x0096, r24
|
||
}
|
||
uart_str_count = 0;
|
||
136: 10 92 b2 00 sts 0x00B2, r1
|
||
}
|
||
}
|
||
13a: ff 91 pop r31
|
||
13c: ef 91 pop r30
|
||
13e: 9f 91 pop r25
|
||
140: 8f 91 pop r24
|
||
142: 7f 91 pop r23
|
||
144: 6f 91 pop r22
|
||
146: 5f 91 pop r21
|
||
148: 4f 91 pop r20
|
||
14a: 3f 91 pop r19
|
||
14c: 2f 91 pop r18
|
||
14e: 0f 90 pop r0
|
||
150: 0f be out 0x3f, r0 ; 63
|
||
152: 0f 90 pop r0
|
||
154: 1f 90 pop r1
|
||
156: 18 95 reti
|
||
|
||
00000158 <UART_Init>:
|
||
return (0);
|
||
}
|
||
|
||
void UART_Init (void) {
|
||
//8N1
|
||
UCSRC = (1<<URSEL) | (1 << UCSZ1) |(1 << UCSZ0);
|
||
158: 86 e8 ldi r24, 0x86 ; 134
|
||
15a: 80 bd out 0x20, r24 ; 32
|
||
//Enable TXEN im Register UCR TX-Data Enable
|
||
UCSRB |= (1<<RXEN) | (1<<TXEN) | (1<<RXCIE);
|
||
15c: 8a b1 in r24, 0x0a ; 10
|
||
15e: 88 69 ori r24, 0x98 ; 152
|
||
160: 8a b9 out 0x0a, r24 ; 10
|
||
//Teiler wird gesetzt
|
||
UBRRL=(F_CPU / (BAUD_RATE * 16L) - 1);
|
||
162: 83 e3 ldi r24, 0x33 ; 51
|
||
164: 89 b9 out 0x09, r24 ; 9
|
||
//<2F>ffnet einen Kanal f<>r printf (STDOUT)
|
||
stdout = &mystdout;
|
||
166: 89 e9 ldi r24, 0x99 ; 153
|
||
168: 90 e0 ldi r25, 0x00 ; 0
|
||
16a: 90 93 b6 00 sts 0x00B6, r25
|
||
16e: 80 93 b5 00 sts 0x00B5, r24
|
||
}
|
||
172: 08 95 ret
|
||
|
||
00000174 <adcinit>:
|
||
|
||
void adcinit() {
|
||
// ADC initialization
|
||
// ADC Clock frequency: 62,500 kHz
|
||
// ADC Voltage Reference: AREF pin
|
||
ADMUX=ADC_VREF_TYPE;
|
||
174: 80 e4 ldi r24, 0x40 ; 64
|
||
176: 87 b9 out 0x07, r24 ; 7
|
||
ADCSRA=(1<<ADEN) | (0<<ADSC) | (0<<ADFR) | (0<<ADIF) | (0<<ADIE) | (1<<ADPS2) | (1<<ADPS1) | (1<<ADPS0);
|
||
178: 87 e8 ldi r24, 0x87 ; 135
|
||
17a: 86 b9 out 0x06, r24 ; 6
|
||
SFIOR=(0<<ACME);
|
||
17c: 10 be out 0x30, r1 ; 48
|
||
}
|
||
17e: 08 95 ret
|
||
|
||
00000180 <read_adc>:
|
||
|
||
unsigned int read_adc(unsigned char adc_input)
|
||
{
|
||
ADMUX=adc_input | ADC_VREF_TYPE;
|
||
180: 80 64 ori r24, 0x40 ; 64
|
||
182: 87 b9 out 0x07, r24 ; 7
|
||
#else
|
||
//round up by default
|
||
__ticks_dc = (uint32_t)(ceil(fabs(__tmp)));
|
||
#endif
|
||
|
||
__builtin_avr_delay_cycles(__ticks_dc);
|
||
184: 8a e1 ldi r24, 0x1A ; 26
|
||
186: 8a 95 dec r24
|
||
188: f1 f7 brne .-4 ; 0x186 <read_adc+0x6>
|
||
18a: 00 c0 rjmp .+0 ; 0x18c <read_adc+0xc>
|
||
// Delay needed for the stabilization of the ADC input voltage
|
||
_delay_us(10);
|
||
// Start the AD conversion
|
||
ADCSRA|=(1<<ADSC);
|
||
18c: 36 9a sbi 0x06, 6 ; 6
|
||
// Wait for the AD conversion to complete
|
||
while ((ADCSRA & (1<<ADIF))==0);
|
||
18e: 34 9b sbis 0x06, 4 ; 6
|
||
190: fe cf rjmp .-4 ; 0x18e <read_adc+0xe>
|
||
ADCSRA|=(1<<ADIF);
|
||
192: 34 9a sbi 0x06, 4 ; 6
|
||
return ADCW;
|
||
194: 84 b1 in r24, 0x04 ; 4
|
||
196: 95 b1 in r25, 0x05 ; 5
|
||
}
|
||
198: 08 95 ret
|
||
|
||
0000019a <convert2degree>:
|
||
static const float c2=300;
|
||
static const float v2=53; //ADC-Wert=165 @ 202<30>C
|
||
|
||
|
||
float m=((c1-c2)/(v1-v2));
|
||
return((int)((m*(float)value)+(-m*v1)+c1));
|
||
19a: 9c 01 movw r18, r24
|
||
19c: b9 01 movw r22, r18
|
||
19e: 88 27 eor r24, r24
|
||
1a0: 77 fd sbrc r23, 7
|
||
1a2: 80 95 com r24
|
||
1a4: 98 2f mov r25, r24
|
||
1a6: 4a d1 rcall .+660 ; 0x43c <__floatsisf>
|
||
1a8: 2b e0 ldi r18, 0x0B ; 11
|
||
1aa: 34 eb ldi r19, 0xB4 ; 180
|
||
1ac: 40 e4 ldi r20, 0x40 ; 64
|
||
1ae: 50 ec ldi r21, 0xC0 ; 192
|
||
1b0: d1 d1 rcall .+930 ; 0x554 <__mulsf3>
|
||
1b2: 2c e8 ldi r18, 0x8C ; 140
|
||
1b4: 3a ec ldi r19, 0xCA ; 202
|
||
1b6: 48 ed ldi r20, 0xD8 ; 216
|
||
1b8: 53 e4 ldi r21, 0x43 ; 67
|
||
1ba: a9 d0 rcall .+338 ; 0x30e <__addsf3>
|
||
1bc: 20 e0 ldi r18, 0x00 ; 0
|
||
1be: 30 e0 ldi r19, 0x00 ; 0
|
||
1c0: 40 ed ldi r20, 0xD0 ; 208
|
||
1c2: 51 e4 ldi r21, 0x41 ; 65
|
||
1c4: a4 d0 rcall .+328 ; 0x30e <__addsf3>
|
||
1c6: 07 d1 rcall .+526 ; 0x3d6 <__fixsfsi>
|
||
//return((int)((-m*v1)+c1));
|
||
}
|
||
1c8: 86 2f mov r24, r22
|
||
1ca: 97 2f mov r25, r23
|
||
1cc: 08 95 ret
|
||
|
||
000001ce <uart_getc>:
|
||
|
||
uint8_t uart_getc(void)
|
||
{
|
||
while (!(UCSRA & (1<<RXC))) // warten bis Zeichen verfuegbar
|
||
1ce: 5f 9b sbis 0x0b, 7 ; 11
|
||
1d0: fe cf rjmp .-4 ; 0x1ce <uart_getc>
|
||
;
|
||
return UDR; // Zeichen aus UDR an Aufrufer zurueckgeben
|
||
1d2: 8c b1 in r24, 0x0c ; 12
|
||
}
|
||
1d4: 08 95 ret
|
||
|
||
000001d6 <main>:
|
||
int pwm = 0;
|
||
int pwm_ctr = 0;
|
||
int mpwm = 0;
|
||
uint8_t hon = 0;
|
||
uint8_t mon = 0;
|
||
UART_Init();
|
||
1d6: c0 df rcall .-128 ; 0x158 <UART_Init>
|
||
adcinit();
|
||
1d8: cd df rcall .-102 ; 0x174 <adcinit>
|
||
sei();
|
||
1da: 78 94 sei
|
||
printf("########### Bootup #########\n");
|
||
1dc: 80 e6 ldi r24, 0x60 ; 96
|
||
1de: 90 e0 ldi r25, 0x00 ; 0
|
||
1e0: 2e d2 rcall .+1116 ; 0x63e <puts>
|
||
DDRB |= (1<<PB2);
|
||
1e2: ba 9a sbi 0x17, 2 ; 23
|
||
while(1)
|
||
{
|
||
val=read_adc(0);
|
||
1e4: 80 e0 ldi r24, 0x00 ; 0
|
||
1e6: cc df rcall .-104 ; 0x180 <read_adc>
|
||
1e8: e8 2e mov r14, r24
|
||
1ea: f9 2e mov r15, r25
|
||
pwm=sollwert-convert2degree(val);
|
||
1ec: c0 91 97 00 lds r28, 0x0097
|
||
1f0: d0 91 98 00 lds r29, 0x0098
|
||
1f4: c7 01 movw r24, r14
|
||
1f6: d1 df rcall .-94 ; 0x19a <convert2degree>
|
||
1f8: ac 01 movw r20, r24
|
||
1fa: c8 1b sub r28, r24
|
||
1fc: d9 0b sbc r29, r25
|
||
int main(void)
|
||
{
|
||
int val;
|
||
int pwm = 0;
|
||
int pwm_ctr = 0;
|
||
int mpwm = 0;
|
||
1fe: cc 24 eor r12, r12
|
||
200: dd 24 eor r13, r13
|
||
DDRB |= (1<<PB2);
|
||
while(1)
|
||
{
|
||
val=read_adc(0);
|
||
pwm=sollwert-convert2degree(val);
|
||
if (pwm_ctr++ >= 20) {
|
||
202: 01 e0 ldi r16, 0x01 ; 1
|
||
204: 10 e0 ldi r17, 0x00 ; 0
|
||
printf("########### Bootup #########\n");
|
||
DDRB |= (1<<PB2);
|
||
while(1)
|
||
{
|
||
val=read_adc(0);
|
||
pwm=sollwert-convert2degree(val);
|
||
206: 88 24 eor r8, r8
|
||
208: 99 24 eor r9, r9
|
||
mon = 1;
|
||
} else {
|
||
mon = 0;
|
||
}
|
||
if (pwm<=pwm_ctr || val<30 || val>1000) { //pwm, detect Sensor contakt break/short
|
||
hon = 0;
|
||
20a: bb 24 eor r11, r11
|
||
20c: aa 24 eor r10, r10
|
||
20e: a3 94 inc r10
|
||
} else {
|
||
hon = 1;
|
||
}
|
||
printf("%d %d %d %d %d %d %d %d\n", pwm, pwm_ctr, val, convert2degree(val),sollwert,motor,hon,mon);
|
||
210: 0f 2e mov r0, r31
|
||
212: fd e7 ldi r31, 0x7D ; 125
|
||
214: 6f 2e mov r6, r31
|
||
216: f0 e0 ldi r31, 0x00 ; 0
|
||
218: 7f 2e mov r7, r31
|
||
21a: f0 2d mov r31, r0
|
||
21c: 01 c0 rjmp .+2 ; 0x220 <main+0x4a>
|
||
while(1)
|
||
{
|
||
val=read_adc(0);
|
||
pwm=sollwert-convert2degree(val);
|
||
if (pwm_ctr++ >= 20) {
|
||
pwm_ctr=0;
|
||
21e: 84 01 movw r16, r8
|
||
printf("########### Bootup #########\n");
|
||
DDRB |= (1<<PB2);
|
||
while(1)
|
||
{
|
||
val=read_adc(0);
|
||
pwm=sollwert-convert2degree(val);
|
||
220: dd 23 and r29, r29
|
||
222: 0c f4 brge .+2 ; 0x226 <main+0x50>
|
||
224: e4 01 movw r28, r8
|
||
pwm_ctr=0;
|
||
}
|
||
if (pwm < 0) {
|
||
pwm = 0;
|
||
}
|
||
if(mpwm++ > 10) {
|
||
226: 8b e0 ldi r24, 0x0B ; 11
|
||
228: c8 16 cp r12, r24
|
||
22a: d1 04 cpc r13, r1
|
||
22c: 24 f4 brge .+8 ; 0x236 <main+0x60>
|
||
22e: 08 94 sec
|
||
230: c1 1c adc r12, r1
|
||
232: d1 1c adc r13, r1
|
||
234: 01 c0 rjmp .+2 ; 0x238 <main+0x62>
|
||
mpwm=0;
|
||
236: 64 01 movw r12, r8
|
||
}
|
||
if(mpwm-(10-motor) >= 0) {
|
||
238: 80 91 96 00 lds r24, 0x0096
|
||
23c: 90 e0 ldi r25, 0x00 ; 0
|
||
23e: 0a 97 sbiw r24, 0x0a ; 10
|
||
240: bc 01 movw r22, r24
|
||
242: 6c 0d add r22, r12
|
||
244: 7d 1d adc r23, r13
|
||
mon = 1;
|
||
} else {
|
||
mon = 0;
|
||
}
|
||
if (pwm<=pwm_ctr || val<30 || val>1000) { //pwm, detect Sensor contakt break/short
|
||
246: 0c 17 cp r16, r28
|
||
248: 1d 07 cpc r17, r29
|
||
24a: 64 f4 brge .+24 ; 0x264 <main+0x8e>
|
||
24c: 9e e1 ldi r25, 0x1E ; 30
|
||
24e: e9 16 cp r14, r25
|
||
250: f1 04 cpc r15, r1
|
||
252: 54 f0 brlt .+20 ; 0x268 <main+0x92>
|
||
hon = 0;
|
||
254: 2a 2d mov r18, r10
|
||
256: a9 ee ldi r26, 0xE9 ; 233
|
||
258: ea 16 cp r14, r26
|
||
25a: a3 e0 ldi r26, 0x03 ; 3
|
||
25c: fa 06 cpc r15, r26
|
||
25e: 2c f0 brlt .+10 ; 0x26a <main+0x94>
|
||
260: 2b 2d mov r18, r11
|
||
262: 03 c0 rjmp .+6 ; 0x26a <main+0x94>
|
||
264: 2b 2d mov r18, r11
|
||
266: 01 c0 rjmp .+2 ; 0x26a <main+0x94>
|
||
268: 2b 2d mov r18, r11
|
||
} else {
|
||
hon = 1;
|
||
}
|
||
printf("%d %d %d %d %d %d %d %d\n", pwm, pwm_ctr, val, convert2degree(val),sollwert,motor,hon,mon);
|
||
26a: 80 91 97 00 lds r24, 0x0097
|
||
26e: 90 91 98 00 lds r25, 0x0098
|
||
272: 30 91 96 00 lds r19, 0x0096
|
||
276: ed b7 in r30, 0x3d ; 61
|
||
278: fe b7 in r31, 0x3e ; 62
|
||
27a: 72 97 sbiw r30, 0x12 ; 18
|
||
27c: 0f b6 in r0, 0x3f ; 63
|
||
27e: f8 94 cli
|
||
280: fe bf out 0x3e, r31 ; 62
|
||
282: 0f be out 0x3f, r0 ; 63
|
||
284: ed bf out 0x3d, r30 ; 61
|
||
286: 31 96 adiw r30, 0x01 ; 1
|
||
288: ad b7 in r26, 0x3d ; 61
|
||
28a: be b7 in r27, 0x3e ; 62
|
||
28c: 12 96 adiw r26, 0x02 ; 2
|
||
28e: 7c 92 st X, r7
|
||
290: 6e 92 st -X, r6
|
||
292: 11 97 sbiw r26, 0x01 ; 1
|
||
294: d3 83 std Z+3, r29 ; 0x03
|
||
296: c2 83 std Z+2, r28 ; 0x02
|
||
298: 15 83 std Z+5, r17 ; 0x05
|
||
29a: 04 83 std Z+4, r16 ; 0x04
|
||
29c: f7 82 std Z+7, r15 ; 0x07
|
||
29e: e6 82 std Z+6, r14 ; 0x06
|
||
2a0: 51 87 std Z+9, r21 ; 0x09
|
||
2a2: 40 87 std Z+8, r20 ; 0x08
|
||
2a4: 93 87 std Z+11, r25 ; 0x0b
|
||
2a6: 82 87 std Z+10, r24 ; 0x0a
|
||
2a8: 34 87 std Z+12, r19 ; 0x0c
|
||
2aa: 15 86 std Z+13, r1 ; 0x0d
|
||
2ac: 26 87 std Z+14, r18 ; 0x0e
|
||
2ae: 17 86 std Z+15, r1 ; 0x0f
|
||
2b0: 87 2f mov r24, r23
|
||
2b2: 80 95 com r24
|
||
2b4: 88 1f adc r24, r24
|
||
2b6: 88 27 eor r24, r24
|
||
2b8: 88 1f adc r24, r24
|
||
2ba: 80 8b std Z+16, r24 ; 0x10
|
||
2bc: 11 8a std Z+17, r1 ; 0x11
|
||
2be: ad d1 rcall .+858 ; 0x61a <printf>
|
||
#else
|
||
//round up by default
|
||
__ticks_dc = (uint32_t)(ceil(fabs(__tmp)));
|
||
#endif
|
||
|
||
__builtin_avr_delay_cycles(__ticks_dc);
|
||
2c0: 8f ef ldi r24, 0xFF ; 255
|
||
2c2: 90 e7 ldi r25, 0x70 ; 112
|
||
2c4: a2 e0 ldi r26, 0x02 ; 2
|
||
2c6: 81 50 subi r24, 0x01 ; 1
|
||
2c8: 90 40 sbci r25, 0x00 ; 0
|
||
2ca: a0 40 sbci r26, 0x00 ; 0
|
||
2cc: e1 f7 brne .-8 ; 0x2c6 <main+0xf0>
|
||
2ce: 00 c0 rjmp .+0 ; 0x2d0 <main+0xfa>
|
||
2d0: 00 00 nop
|
||
sei();
|
||
printf("########### Bootup #########\n");
|
||
DDRB |= (1<<PB2);
|
||
while(1)
|
||
{
|
||
val=read_adc(0);
|
||
2d2: ad b7 in r26, 0x3d ; 61
|
||
2d4: be b7 in r27, 0x3e ; 62
|
||
2d6: 52 96 adiw r26, 0x12 ; 18
|
||
2d8: 0f b6 in r0, 0x3f ; 63
|
||
2da: f8 94 cli
|
||
2dc: be bf out 0x3e, r27 ; 62
|
||
2de: 0f be out 0x3f, r0 ; 63
|
||
2e0: ad bf out 0x3d, r26 ; 61
|
||
2e2: 8b 2d mov r24, r11
|
||
2e4: 4d df rcall .-358 ; 0x180 <read_adc>
|
||
2e6: e8 2e mov r14, r24
|
||
2e8: f9 2e mov r15, r25
|
||
pwm=sollwert-convert2degree(val);
|
||
2ea: c0 91 97 00 lds r28, 0x0097
|
||
2ee: d0 91 98 00 lds r29, 0x0098
|
||
2f2: c7 01 movw r24, r14
|
||
2f4: 52 df rcall .-348 ; 0x19a <convert2degree>
|
||
2f6: ac 01 movw r20, r24
|
||
2f8: c8 1b sub r28, r24
|
||
2fa: d9 0b sbc r29, r25
|
||
if (pwm_ctr++ >= 20) {
|
||
2fc: c8 01 movw r24, r16
|
||
2fe: 01 96 adiw r24, 0x01 ; 1
|
||
300: 04 31 cpi r16, 0x14 ; 20
|
||
302: 11 05 cpc r17, r1
|
||
304: 0c f0 brlt .+2 ; 0x308 <main+0x132>
|
||
306: 8b cf rjmp .-234 ; 0x21e <main+0x48>
|
||
308: 8c 01 movw r16, r24
|
||
30a: 8a cf rjmp .-236 ; 0x220 <main+0x4a>
|
||
|
||
0000030c <__subsf3>:
|
||
30c: 50 58 subi r21, 0x80 ; 128
|
||
|
||
0000030e <__addsf3>:
|
||
30e: bb 27 eor r27, r27
|
||
310: aa 27 eor r26, r26
|
||
312: 0e d0 rcall .+28 ; 0x330 <__addsf3x>
|
||
314: e5 c0 rjmp .+458 ; 0x4e0 <__fp_round>
|
||
316: d6 d0 rcall .+428 ; 0x4c4 <__fp_pscA>
|
||
318: 30 f0 brcs .+12 ; 0x326 <__addsf3+0x18>
|
||
31a: db d0 rcall .+438 ; 0x4d2 <__fp_pscB>
|
||
31c: 20 f0 brcs .+8 ; 0x326 <__addsf3+0x18>
|
||
31e: 31 f4 brne .+12 ; 0x32c <__addsf3+0x1e>
|
||
320: 9f 3f cpi r25, 0xFF ; 255
|
||
322: 11 f4 brne .+4 ; 0x328 <__addsf3+0x1a>
|
||
324: 1e f4 brtc .+6 ; 0x32c <__addsf3+0x1e>
|
||
326: cb c0 rjmp .+406 ; 0x4be <__fp_nan>
|
||
328: 0e f4 brtc .+2 ; 0x32c <__addsf3+0x1e>
|
||
32a: e0 95 com r30
|
||
32c: e7 fb bst r30, 7
|
||
32e: c1 c0 rjmp .+386 ; 0x4b2 <__fp_inf>
|
||
|
||
00000330 <__addsf3x>:
|
||
330: e9 2f mov r30, r25
|
||
332: e7 d0 rcall .+462 ; 0x502 <__fp_split3>
|
||
334: 80 f3 brcs .-32 ; 0x316 <__addsf3+0x8>
|
||
336: ba 17 cp r27, r26
|
||
338: 62 07 cpc r22, r18
|
||
33a: 73 07 cpc r23, r19
|
||
33c: 84 07 cpc r24, r20
|
||
33e: 95 07 cpc r25, r21
|
||
340: 18 f0 brcs .+6 ; 0x348 <__addsf3x+0x18>
|
||
342: 71 f4 brne .+28 ; 0x360 <__addsf3x+0x30>
|
||
344: 9e f5 brtc .+102 ; 0x3ac <__addsf3x+0x7c>
|
||
346: ff c0 rjmp .+510 ; 0x546 <__fp_zero>
|
||
348: 0e f4 brtc .+2 ; 0x34c <__addsf3x+0x1c>
|
||
34a: e0 95 com r30
|
||
34c: 0b 2e mov r0, r27
|
||
34e: ba 2f mov r27, r26
|
||
350: a0 2d mov r26, r0
|
||
352: 0b 01 movw r0, r22
|
||
354: b9 01 movw r22, r18
|
||
356: 90 01 movw r18, r0
|
||
358: 0c 01 movw r0, r24
|
||
35a: ca 01 movw r24, r20
|
||
35c: a0 01 movw r20, r0
|
||
35e: 11 24 eor r1, r1
|
||
360: ff 27 eor r31, r31
|
||
362: 59 1b sub r21, r25
|
||
364: 99 f0 breq .+38 ; 0x38c <__addsf3x+0x5c>
|
||
366: 59 3f cpi r21, 0xF9 ; 249
|
||
368: 50 f4 brcc .+20 ; 0x37e <__addsf3x+0x4e>
|
||
36a: 50 3e cpi r21, 0xE0 ; 224
|
||
36c: 68 f1 brcs .+90 ; 0x3c8 <__addsf3x+0x98>
|
||
36e: 1a 16 cp r1, r26
|
||
370: f0 40 sbci r31, 0x00 ; 0
|
||
372: a2 2f mov r26, r18
|
||
374: 23 2f mov r18, r19
|
||
376: 34 2f mov r19, r20
|
||
378: 44 27 eor r20, r20
|
||
37a: 58 5f subi r21, 0xF8 ; 248
|
||
37c: f3 cf rjmp .-26 ; 0x364 <__addsf3x+0x34>
|
||
37e: 46 95 lsr r20
|
||
380: 37 95 ror r19
|
||
382: 27 95 ror r18
|
||
384: a7 95 ror r26
|
||
386: f0 40 sbci r31, 0x00 ; 0
|
||
388: 53 95 inc r21
|
||
38a: c9 f7 brne .-14 ; 0x37e <__addsf3x+0x4e>
|
||
38c: 7e f4 brtc .+30 ; 0x3ac <__addsf3x+0x7c>
|
||
38e: 1f 16 cp r1, r31
|
||
390: ba 0b sbc r27, r26
|
||
392: 62 0b sbc r22, r18
|
||
394: 73 0b sbc r23, r19
|
||
396: 84 0b sbc r24, r20
|
||
398: ba f0 brmi .+46 ; 0x3c8 <__addsf3x+0x98>
|
||
39a: 91 50 subi r25, 0x01 ; 1
|
||
39c: a1 f0 breq .+40 ; 0x3c6 <__addsf3x+0x96>
|
||
39e: ff 0f add r31, r31
|
||
3a0: bb 1f adc r27, r27
|
||
3a2: 66 1f adc r22, r22
|
||
3a4: 77 1f adc r23, r23
|
||
3a6: 88 1f adc r24, r24
|
||
3a8: c2 f7 brpl .-16 ; 0x39a <__addsf3x+0x6a>
|
||
3aa: 0e c0 rjmp .+28 ; 0x3c8 <__addsf3x+0x98>
|
||
3ac: ba 0f add r27, r26
|
||
3ae: 62 1f adc r22, r18
|
||
3b0: 73 1f adc r23, r19
|
||
3b2: 84 1f adc r24, r20
|
||
3b4: 48 f4 brcc .+18 ; 0x3c8 <__addsf3x+0x98>
|
||
3b6: 87 95 ror r24
|
||
3b8: 77 95 ror r23
|
||
3ba: 67 95 ror r22
|
||
3bc: b7 95 ror r27
|
||
3be: f7 95 ror r31
|
||
3c0: 9e 3f cpi r25, 0xFE ; 254
|
||
3c2: 08 f0 brcs .+2 ; 0x3c6 <__addsf3x+0x96>
|
||
3c4: b3 cf rjmp .-154 ; 0x32c <__addsf3+0x1e>
|
||
3c6: 93 95 inc r25
|
||
3c8: 88 0f add r24, r24
|
||
3ca: 08 f0 brcs .+2 ; 0x3ce <__addsf3x+0x9e>
|
||
3cc: 99 27 eor r25, r25
|
||
3ce: ee 0f add r30, r30
|
||
3d0: 97 95 ror r25
|
||
3d2: 87 95 ror r24
|
||
3d4: 08 95 ret
|
||
|
||
000003d6 <__fixsfsi>:
|
||
3d6: 04 d0 rcall .+8 ; 0x3e0 <__fixunssfsi>
|
||
3d8: 68 94 set
|
||
3da: b1 11 cpse r27, r1
|
||
3dc: b5 c0 rjmp .+362 ; 0x548 <__fp_szero>
|
||
3de: 08 95 ret
|
||
|
||
000003e0 <__fixunssfsi>:
|
||
3e0: 98 d0 rcall .+304 ; 0x512 <__fp_splitA>
|
||
3e2: 88 f0 brcs .+34 ; 0x406 <__fixunssfsi+0x26>
|
||
3e4: 9f 57 subi r25, 0x7F ; 127
|
||
3e6: 90 f0 brcs .+36 ; 0x40c <__fixunssfsi+0x2c>
|
||
3e8: b9 2f mov r27, r25
|
||
3ea: 99 27 eor r25, r25
|
||
3ec: b7 51 subi r27, 0x17 ; 23
|
||
3ee: a0 f0 brcs .+40 ; 0x418 <__fixunssfsi+0x38>
|
||
3f0: d1 f0 breq .+52 ; 0x426 <__fixunssfsi+0x46>
|
||
3f2: 66 0f add r22, r22
|
||
3f4: 77 1f adc r23, r23
|
||
3f6: 88 1f adc r24, r24
|
||
3f8: 99 1f adc r25, r25
|
||
3fa: 1a f0 brmi .+6 ; 0x402 <__fixunssfsi+0x22>
|
||
3fc: ba 95 dec r27
|
||
3fe: c9 f7 brne .-14 ; 0x3f2 <__fixunssfsi+0x12>
|
||
400: 12 c0 rjmp .+36 ; 0x426 <__fixunssfsi+0x46>
|
||
402: b1 30 cpi r27, 0x01 ; 1
|
||
404: 81 f0 breq .+32 ; 0x426 <__fixunssfsi+0x46>
|
||
406: 9f d0 rcall .+318 ; 0x546 <__fp_zero>
|
||
408: b1 e0 ldi r27, 0x01 ; 1
|
||
40a: 08 95 ret
|
||
40c: 9c c0 rjmp .+312 ; 0x546 <__fp_zero>
|
||
40e: 67 2f mov r22, r23
|
||
410: 78 2f mov r23, r24
|
||
412: 88 27 eor r24, r24
|
||
414: b8 5f subi r27, 0xF8 ; 248
|
||
416: 39 f0 breq .+14 ; 0x426 <__fixunssfsi+0x46>
|
||
418: b9 3f cpi r27, 0xF9 ; 249
|
||
41a: cc f3 brlt .-14 ; 0x40e <__fixunssfsi+0x2e>
|
||
41c: 86 95 lsr r24
|
||
41e: 77 95 ror r23
|
||
420: 67 95 ror r22
|
||
422: b3 95 inc r27
|
||
424: d9 f7 brne .-10 ; 0x41c <__fixunssfsi+0x3c>
|
||
426: 3e f4 brtc .+14 ; 0x436 <__fixunssfsi+0x56>
|
||
428: 90 95 com r25
|
||
42a: 80 95 com r24
|
||
42c: 70 95 com r23
|
||
42e: 61 95 neg r22
|
||
430: 7f 4f sbci r23, 0xFF ; 255
|
||
432: 8f 4f sbci r24, 0xFF ; 255
|
||
434: 9f 4f sbci r25, 0xFF ; 255
|
||
436: 08 95 ret
|
||
|
||
00000438 <__floatunsisf>:
|
||
438: e8 94 clt
|
||
43a: 09 c0 rjmp .+18 ; 0x44e <__floatsisf+0x12>
|
||
|
||
0000043c <__floatsisf>:
|
||
43c: 97 fb bst r25, 7
|
||
43e: 3e f4 brtc .+14 ; 0x44e <__floatsisf+0x12>
|
||
440: 90 95 com r25
|
||
442: 80 95 com r24
|
||
444: 70 95 com r23
|
||
446: 61 95 neg r22
|
||
448: 7f 4f sbci r23, 0xFF ; 255
|
||
44a: 8f 4f sbci r24, 0xFF ; 255
|
||
44c: 9f 4f sbci r25, 0xFF ; 255
|
||
44e: 99 23 and r25, r25
|
||
450: a9 f0 breq .+42 ; 0x47c <__stack+0x1d>
|
||
452: f9 2f mov r31, r25
|
||
454: 96 e9 ldi r25, 0x96 ; 150
|
||
456: bb 27 eor r27, r27
|
||
458: 93 95 inc r25
|
||
45a: f6 95 lsr r31
|
||
45c: 87 95 ror r24
|
||
45e: 77 95 ror r23
|
||
460: 67 95 ror r22
|
||
462: b7 95 ror r27
|
||
464: f1 11 cpse r31, r1
|
||
466: f8 cf rjmp .-16 ; 0x458 <__floatsisf+0x1c>
|
||
468: fa f4 brpl .+62 ; 0x4a8 <__stack+0x49>
|
||
46a: bb 0f add r27, r27
|
||
46c: 11 f4 brne .+4 ; 0x472 <__stack+0x13>
|
||
46e: 60 ff sbrs r22, 0
|
||
470: 1b c0 rjmp .+54 ; 0x4a8 <__stack+0x49>
|
||
472: 6f 5f subi r22, 0xFF ; 255
|
||
474: 7f 4f sbci r23, 0xFF ; 255
|
||
476: 8f 4f sbci r24, 0xFF ; 255
|
||
478: 9f 4f sbci r25, 0xFF ; 255
|
||
47a: 16 c0 rjmp .+44 ; 0x4a8 <__stack+0x49>
|
||
47c: 88 23 and r24, r24
|
||
47e: 11 f0 breq .+4 ; 0x484 <__stack+0x25>
|
||
480: 96 e9 ldi r25, 0x96 ; 150
|
||
482: 11 c0 rjmp .+34 ; 0x4a6 <__stack+0x47>
|
||
484: 77 23 and r23, r23
|
||
486: 21 f0 breq .+8 ; 0x490 <__stack+0x31>
|
||
488: 9e e8 ldi r25, 0x8E ; 142
|
||
48a: 87 2f mov r24, r23
|
||
48c: 76 2f mov r23, r22
|
||
48e: 05 c0 rjmp .+10 ; 0x49a <__stack+0x3b>
|
||
490: 66 23 and r22, r22
|
||
492: 71 f0 breq .+28 ; 0x4b0 <__stack+0x51>
|
||
494: 96 e8 ldi r25, 0x86 ; 134
|
||
496: 86 2f mov r24, r22
|
||
498: 70 e0 ldi r23, 0x00 ; 0
|
||
49a: 60 e0 ldi r22, 0x00 ; 0
|
||
49c: 2a f0 brmi .+10 ; 0x4a8 <__stack+0x49>
|
||
49e: 9a 95 dec r25
|
||
4a0: 66 0f add r22, r22
|
||
4a2: 77 1f adc r23, r23
|
||
4a4: 88 1f adc r24, r24
|
||
4a6: da f7 brpl .-10 ; 0x49e <__stack+0x3f>
|
||
4a8: 88 0f add r24, r24
|
||
4aa: 96 95 lsr r25
|
||
4ac: 87 95 ror r24
|
||
4ae: 97 f9 bld r25, 7
|
||
4b0: 08 95 ret
|
||
|
||
000004b2 <__fp_inf>:
|
||
4b2: 97 f9 bld r25, 7
|
||
4b4: 9f 67 ori r25, 0x7F ; 127
|
||
4b6: 80 e8 ldi r24, 0x80 ; 128
|
||
4b8: 70 e0 ldi r23, 0x00 ; 0
|
||
4ba: 60 e0 ldi r22, 0x00 ; 0
|
||
4bc: 08 95 ret
|
||
|
||
000004be <__fp_nan>:
|
||
4be: 9f ef ldi r25, 0xFF ; 255
|
||
4c0: 80 ec ldi r24, 0xC0 ; 192
|
||
4c2: 08 95 ret
|
||
|
||
000004c4 <__fp_pscA>:
|
||
4c4: 00 24 eor r0, r0
|
||
4c6: 0a 94 dec r0
|
||
4c8: 16 16 cp r1, r22
|
||
4ca: 17 06 cpc r1, r23
|
||
4cc: 18 06 cpc r1, r24
|
||
4ce: 09 06 cpc r0, r25
|
||
4d0: 08 95 ret
|
||
|
||
000004d2 <__fp_pscB>:
|
||
4d2: 00 24 eor r0, r0
|
||
4d4: 0a 94 dec r0
|
||
4d6: 12 16 cp r1, r18
|
||
4d8: 13 06 cpc r1, r19
|
||
4da: 14 06 cpc r1, r20
|
||
4dc: 05 06 cpc r0, r21
|
||
4de: 08 95 ret
|
||
|
||
000004e0 <__fp_round>:
|
||
4e0: 09 2e mov r0, r25
|
||
4e2: 03 94 inc r0
|
||
4e4: 00 0c add r0, r0
|
||
4e6: 11 f4 brne .+4 ; 0x4ec <__fp_round+0xc>
|
||
4e8: 88 23 and r24, r24
|
||
4ea: 52 f0 brmi .+20 ; 0x500 <__fp_round+0x20>
|
||
4ec: bb 0f add r27, r27
|
||
4ee: 40 f4 brcc .+16 ; 0x500 <__fp_round+0x20>
|
||
4f0: bf 2b or r27, r31
|
||
4f2: 11 f4 brne .+4 ; 0x4f8 <__fp_round+0x18>
|
||
4f4: 60 ff sbrs r22, 0
|
||
4f6: 04 c0 rjmp .+8 ; 0x500 <__fp_round+0x20>
|
||
4f8: 6f 5f subi r22, 0xFF ; 255
|
||
4fa: 7f 4f sbci r23, 0xFF ; 255
|
||
4fc: 8f 4f sbci r24, 0xFF ; 255
|
||
4fe: 9f 4f sbci r25, 0xFF ; 255
|
||
500: 08 95 ret
|
||
|
||
00000502 <__fp_split3>:
|
||
502: 57 fd sbrc r21, 7
|
||
504: 90 58 subi r25, 0x80 ; 128
|
||
506: 44 0f add r20, r20
|
||
508: 55 1f adc r21, r21
|
||
50a: 59 f0 breq .+22 ; 0x522 <__fp_splitA+0x10>
|
||
50c: 5f 3f cpi r21, 0xFF ; 255
|
||
50e: 71 f0 breq .+28 ; 0x52c <__fp_splitA+0x1a>
|
||
510: 47 95 ror r20
|
||
|
||
00000512 <__fp_splitA>:
|
||
512: 88 0f add r24, r24
|
||
514: 97 fb bst r25, 7
|
||
516: 99 1f adc r25, r25
|
||
518: 61 f0 breq .+24 ; 0x532 <__fp_splitA+0x20>
|
||
51a: 9f 3f cpi r25, 0xFF ; 255
|
||
51c: 79 f0 breq .+30 ; 0x53c <__fp_splitA+0x2a>
|
||
51e: 87 95 ror r24
|
||
520: 08 95 ret
|
||
522: 12 16 cp r1, r18
|
||
524: 13 06 cpc r1, r19
|
||
526: 14 06 cpc r1, r20
|
||
528: 55 1f adc r21, r21
|
||
52a: f2 cf rjmp .-28 ; 0x510 <__fp_split3+0xe>
|
||
52c: 46 95 lsr r20
|
||
52e: f1 df rcall .-30 ; 0x512 <__fp_splitA>
|
||
530: 08 c0 rjmp .+16 ; 0x542 <__fp_splitA+0x30>
|
||
532: 16 16 cp r1, r22
|
||
534: 17 06 cpc r1, r23
|
||
536: 18 06 cpc r1, r24
|
||
538: 99 1f adc r25, r25
|
||
53a: f1 cf rjmp .-30 ; 0x51e <__fp_splitA+0xc>
|
||
53c: 86 95 lsr r24
|
||
53e: 71 05 cpc r23, r1
|
||
540: 61 05 cpc r22, r1
|
||
542: 08 94 sec
|
||
544: 08 95 ret
|
||
|
||
00000546 <__fp_zero>:
|
||
546: e8 94 clt
|
||
|
||
00000548 <__fp_szero>:
|
||
548: bb 27 eor r27, r27
|
||
54a: 66 27 eor r22, r22
|
||
54c: 77 27 eor r23, r23
|
||
54e: cb 01 movw r24, r22
|
||
550: 97 f9 bld r25, 7
|
||
552: 08 95 ret
|
||
|
||
00000554 <__mulsf3>:
|
||
554: 0b d0 rcall .+22 ; 0x56c <__mulsf3x>
|
||
556: c4 cf rjmp .-120 ; 0x4e0 <__fp_round>
|
||
558: b5 df rcall .-150 ; 0x4c4 <__fp_pscA>
|
||
55a: 28 f0 brcs .+10 ; 0x566 <__mulsf3+0x12>
|
||
55c: ba df rcall .-140 ; 0x4d2 <__fp_pscB>
|
||
55e: 18 f0 brcs .+6 ; 0x566 <__mulsf3+0x12>
|
||
560: 95 23 and r25, r21
|
||
562: 09 f0 breq .+2 ; 0x566 <__mulsf3+0x12>
|
||
564: a6 cf rjmp .-180 ; 0x4b2 <__fp_inf>
|
||
566: ab cf rjmp .-170 ; 0x4be <__fp_nan>
|
||
568: 11 24 eor r1, r1
|
||
56a: ee cf rjmp .-36 ; 0x548 <__fp_szero>
|
||
|
||
0000056c <__mulsf3x>:
|
||
56c: ca df rcall .-108 ; 0x502 <__fp_split3>
|
||
56e: a0 f3 brcs .-24 ; 0x558 <__mulsf3+0x4>
|
||
|
||
00000570 <__mulsf3_pse>:
|
||
570: 95 9f mul r25, r21
|
||
572: d1 f3 breq .-12 ; 0x568 <__mulsf3+0x14>
|
||
574: 95 0f add r25, r21
|
||
576: 50 e0 ldi r21, 0x00 ; 0
|
||
578: 55 1f adc r21, r21
|
||
57a: 62 9f mul r22, r18
|
||
57c: f0 01 movw r30, r0
|
||
57e: 72 9f mul r23, r18
|
||
580: bb 27 eor r27, r27
|
||
582: f0 0d add r31, r0
|
||
584: b1 1d adc r27, r1
|
||
586: 63 9f mul r22, r19
|
||
588: aa 27 eor r26, r26
|
||
58a: f0 0d add r31, r0
|
||
58c: b1 1d adc r27, r1
|
||
58e: aa 1f adc r26, r26
|
||
590: 64 9f mul r22, r20
|
||
592: 66 27 eor r22, r22
|
||
594: b0 0d add r27, r0
|
||
596: a1 1d adc r26, r1
|
||
598: 66 1f adc r22, r22
|
||
59a: 82 9f mul r24, r18
|
||
59c: 22 27 eor r18, r18
|
||
59e: b0 0d add r27, r0
|
||
5a0: a1 1d adc r26, r1
|
||
5a2: 62 1f adc r22, r18
|
||
5a4: 73 9f mul r23, r19
|
||
5a6: b0 0d add r27, r0
|
||
5a8: a1 1d adc r26, r1
|
||
5aa: 62 1f adc r22, r18
|
||
5ac: 83 9f mul r24, r19
|
||
5ae: a0 0d add r26, r0
|
||
5b0: 61 1d adc r22, r1
|
||
5b2: 22 1f adc r18, r18
|
||
5b4: 74 9f mul r23, r20
|
||
5b6: 33 27 eor r19, r19
|
||
5b8: a0 0d add r26, r0
|
||
5ba: 61 1d adc r22, r1
|
||
5bc: 23 1f adc r18, r19
|
||
5be: 84 9f mul r24, r20
|
||
5c0: 60 0d add r22, r0
|
||
5c2: 21 1d adc r18, r1
|
||
5c4: 82 2f mov r24, r18
|
||
5c6: 76 2f mov r23, r22
|
||
5c8: 6a 2f mov r22, r26
|
||
5ca: 11 24 eor r1, r1
|
||
5cc: 9f 57 subi r25, 0x7F ; 127
|
||
5ce: 50 40 sbci r21, 0x00 ; 0
|
||
5d0: 8a f0 brmi .+34 ; 0x5f4 <__mulsf3_pse+0x84>
|
||
5d2: e1 f0 breq .+56 ; 0x60c <__mulsf3_pse+0x9c>
|
||
5d4: 88 23 and r24, r24
|
||
5d6: 4a f0 brmi .+18 ; 0x5ea <__mulsf3_pse+0x7a>
|
||
5d8: ee 0f add r30, r30
|
||
5da: ff 1f adc r31, r31
|
||
5dc: bb 1f adc r27, r27
|
||
5de: 66 1f adc r22, r22
|
||
5e0: 77 1f adc r23, r23
|
||
5e2: 88 1f adc r24, r24
|
||
5e4: 91 50 subi r25, 0x01 ; 1
|
||
5e6: 50 40 sbci r21, 0x00 ; 0
|
||
5e8: a9 f7 brne .-22 ; 0x5d4 <__mulsf3_pse+0x64>
|
||
5ea: 9e 3f cpi r25, 0xFE ; 254
|
||
5ec: 51 05 cpc r21, r1
|
||
5ee: 70 f0 brcs .+28 ; 0x60c <__mulsf3_pse+0x9c>
|
||
5f0: 60 cf rjmp .-320 ; 0x4b2 <__fp_inf>
|
||
5f2: aa cf rjmp .-172 ; 0x548 <__fp_szero>
|
||
5f4: 5f 3f cpi r21, 0xFF ; 255
|
||
5f6: ec f3 brlt .-6 ; 0x5f2 <__mulsf3_pse+0x82>
|
||
5f8: 98 3e cpi r25, 0xE8 ; 232
|
||
5fa: dc f3 brlt .-10 ; 0x5f2 <__mulsf3_pse+0x82>
|
||
5fc: 86 95 lsr r24
|
||
5fe: 77 95 ror r23
|
||
600: 67 95 ror r22
|
||
602: b7 95 ror r27
|
||
604: f7 95 ror r31
|
||
606: e7 95 ror r30
|
||
608: 9f 5f subi r25, 0xFF ; 255
|
||
60a: c1 f7 brne .-16 ; 0x5fc <__mulsf3_pse+0x8c>
|
||
60c: fe 2b or r31, r30
|
||
60e: 88 0f add r24, r24
|
||
610: 91 1d adc r25, r1
|
||
612: 96 95 lsr r25
|
||
614: 87 95 ror r24
|
||
616: 97 f9 bld r25, 7
|
||
618: 08 95 ret
|
||
|
||
0000061a <printf>:
|
||
61a: a0 e0 ldi r26, 0x00 ; 0
|
||
61c: b0 e0 ldi r27, 0x00 ; 0
|
||
61e: e2 e1 ldi r30, 0x12 ; 18
|
||
620: f3 e0 ldi r31, 0x03 ; 3
|
||
622: ba c2 rjmp .+1396 ; 0xb98 <__prologue_saves__+0x20>
|
||
624: fe 01 movw r30, r28
|
||
626: 35 96 adiw r30, 0x05 ; 5
|
||
628: 61 91 ld r22, Z+
|
||
62a: 71 91 ld r23, Z+
|
||
62c: 80 91 b5 00 lds r24, 0x00B5
|
||
630: 90 91 b6 00 lds r25, 0x00B6
|
||
634: af 01 movw r20, r30
|
||
636: 31 d0 rcall .+98 ; 0x69a <vfprintf>
|
||
638: 20 96 adiw r28, 0x00 ; 0
|
||
63a: e2 e0 ldi r30, 0x02 ; 2
|
||
63c: c9 c2 rjmp .+1426 ; 0xbd0 <__epilogue_restores__+0x20>
|
||
|
||
0000063e <puts>:
|
||
63e: 0f 93 push r16
|
||
640: 1f 93 push r17
|
||
642: cf 93 push r28
|
||
644: df 93 push r29
|
||
646: 8c 01 movw r16, r24
|
||
648: e0 91 b5 00 lds r30, 0x00B5
|
||
64c: f0 91 b6 00 lds r31, 0x00B6
|
||
650: 83 81 ldd r24, Z+3 ; 0x03
|
||
652: 81 ff sbrs r24, 1
|
||
654: 1a c0 rjmp .+52 ; 0x68a <puts+0x4c>
|
||
656: c0 e0 ldi r28, 0x00 ; 0
|
||
658: d0 e0 ldi r29, 0x00 ; 0
|
||
65a: 05 c0 rjmp .+10 ; 0x666 <puts+0x28>
|
||
65c: 09 95 icall
|
||
65e: 00 97 sbiw r24, 0x00 ; 0
|
||
660: 11 f0 breq .+4 ; 0x666 <puts+0x28>
|
||
662: cf ef ldi r28, 0xFF ; 255
|
||
664: df ef ldi r29, 0xFF ; 255
|
||
666: f8 01 movw r30, r16
|
||
668: 81 91 ld r24, Z+
|
||
66a: 8f 01 movw r16, r30
|
||
66c: 60 91 b5 00 lds r22, 0x00B5
|
||
670: 70 91 b6 00 lds r23, 0x00B6
|
||
674: db 01 movw r26, r22
|
||
676: 18 96 adiw r26, 0x08 ; 8
|
||
678: ed 91 ld r30, X+
|
||
67a: fc 91 ld r31, X
|
||
67c: 19 97 sbiw r26, 0x09 ; 9
|
||
67e: 88 23 and r24, r24
|
||
680: 69 f7 brne .-38 ; 0x65c <puts+0x1e>
|
||
682: 8a e0 ldi r24, 0x0A ; 10
|
||
684: 09 95 icall
|
||
686: 00 97 sbiw r24, 0x00 ; 0
|
||
688: 11 f0 breq .+4 ; 0x68e <puts+0x50>
|
||
68a: cf ef ldi r28, 0xFF ; 255
|
||
68c: df ef ldi r29, 0xFF ; 255
|
||
68e: ce 01 movw r24, r28
|
||
690: df 91 pop r29
|
||
692: cf 91 pop r28
|
||
694: 1f 91 pop r17
|
||
696: 0f 91 pop r16
|
||
698: 08 95 ret
|
||
|
||
0000069a <vfprintf>:
|
||
69a: ad e0 ldi r26, 0x0D ; 13
|
||
69c: b0 e0 ldi r27, 0x00 ; 0
|
||
69e: e2 e5 ldi r30, 0x52 ; 82
|
||
6a0: f3 e0 ldi r31, 0x03 ; 3
|
||
6a2: 6a c2 rjmp .+1236 ; 0xb78 <__prologue_saves__>
|
||
6a4: 3c 01 movw r6, r24
|
||
6a6: 7d 87 std Y+13, r23 ; 0x0d
|
||
6a8: 6c 87 std Y+12, r22 ; 0x0c
|
||
6aa: 5a 01 movw r10, r20
|
||
6ac: fc 01 movw r30, r24
|
||
6ae: 17 82 std Z+7, r1 ; 0x07
|
||
6b0: 16 82 std Z+6, r1 ; 0x06
|
||
6b2: 83 81 ldd r24, Z+3 ; 0x03
|
||
6b4: 81 ff sbrs r24, 1
|
||
6b6: bb c1 rjmp .+886 ; 0xa2e <vfprintf+0x394>
|
||
6b8: 2e 01 movw r4, r28
|
||
6ba: 08 94 sec
|
||
6bc: 41 1c adc r4, r1
|
||
6be: 51 1c adc r5, r1
|
||
6c0: f3 01 movw r30, r6
|
||
6c2: 93 81 ldd r25, Z+3 ; 0x03
|
||
6c4: ec 85 ldd r30, Y+12 ; 0x0c
|
||
6c6: fd 85 ldd r31, Y+13 ; 0x0d
|
||
6c8: 93 fd sbrc r25, 3
|
||
6ca: 85 91 lpm r24, Z+
|
||
6cc: 93 ff sbrs r25, 3
|
||
6ce: 81 91 ld r24, Z+
|
||
6d0: fd 87 std Y+13, r31 ; 0x0d
|
||
6d2: ec 87 std Y+12, r30 ; 0x0c
|
||
6d4: 88 23 and r24, r24
|
||
6d6: 09 f4 brne .+2 ; 0x6da <vfprintf+0x40>
|
||
6d8: a6 c1 rjmp .+844 ; 0xa26 <vfprintf+0x38c>
|
||
6da: 85 32 cpi r24, 0x25 ; 37
|
||
6dc: 41 f4 brne .+16 ; 0x6ee <vfprintf+0x54>
|
||
6de: 93 fd sbrc r25, 3
|
||
6e0: 85 91 lpm r24, Z+
|
||
6e2: 93 ff sbrs r25, 3
|
||
6e4: 81 91 ld r24, Z+
|
||
6e6: fd 87 std Y+13, r31 ; 0x0d
|
||
6e8: ec 87 std Y+12, r30 ; 0x0c
|
||
6ea: 85 32 cpi r24, 0x25 ; 37
|
||
6ec: 21 f4 brne .+8 ; 0x6f6 <vfprintf+0x5c>
|
||
6ee: 90 e0 ldi r25, 0x00 ; 0
|
||
6f0: b3 01 movw r22, r6
|
||
6f2: b8 d1 rcall .+880 ; 0xa64 <fputc>
|
||
6f4: e5 cf rjmp .-54 ; 0x6c0 <vfprintf+0x26>
|
||
6f6: ff 24 eor r15, r15
|
||
6f8: ee 24 eor r14, r14
|
||
6fa: 10 e0 ldi r17, 0x00 ; 0
|
||
6fc: 10 32 cpi r17, 0x20 ; 32
|
||
6fe: b0 f4 brcc .+44 ; 0x72c <vfprintf+0x92>
|
||
700: 8b 32 cpi r24, 0x2B ; 43
|
||
702: 69 f0 breq .+26 ; 0x71e <vfprintf+0x84>
|
||
704: 8c 32 cpi r24, 0x2C ; 44
|
||
706: 28 f4 brcc .+10 ; 0x712 <vfprintf+0x78>
|
||
708: 80 32 cpi r24, 0x20 ; 32
|
||
70a: 51 f0 breq .+20 ; 0x720 <vfprintf+0x86>
|
||
70c: 83 32 cpi r24, 0x23 ; 35
|
||
70e: 71 f4 brne .+28 ; 0x72c <vfprintf+0x92>
|
||
710: 0b c0 rjmp .+22 ; 0x728 <vfprintf+0x8e>
|
||
712: 8d 32 cpi r24, 0x2D ; 45
|
||
714: 39 f0 breq .+14 ; 0x724 <vfprintf+0x8a>
|
||
716: 80 33 cpi r24, 0x30 ; 48
|
||
718: 49 f4 brne .+18 ; 0x72c <vfprintf+0x92>
|
||
71a: 11 60 ori r17, 0x01 ; 1
|
||
71c: 2c c0 rjmp .+88 ; 0x776 <vfprintf+0xdc>
|
||
71e: 12 60 ori r17, 0x02 ; 2
|
||
720: 14 60 ori r17, 0x04 ; 4
|
||
722: 29 c0 rjmp .+82 ; 0x776 <vfprintf+0xdc>
|
||
724: 18 60 ori r17, 0x08 ; 8
|
||
726: 27 c0 rjmp .+78 ; 0x776 <vfprintf+0xdc>
|
||
728: 10 61 ori r17, 0x10 ; 16
|
||
72a: 25 c0 rjmp .+74 ; 0x776 <vfprintf+0xdc>
|
||
72c: 17 fd sbrc r17, 7
|
||
72e: 2e c0 rjmp .+92 ; 0x78c <vfprintf+0xf2>
|
||
730: 28 2f mov r18, r24
|
||
732: 20 53 subi r18, 0x30 ; 48
|
||
734: 2a 30 cpi r18, 0x0A ; 10
|
||
736: 98 f4 brcc .+38 ; 0x75e <vfprintf+0xc4>
|
||
738: 16 ff sbrs r17, 6
|
||
73a: 08 c0 rjmp .+16 ; 0x74c <vfprintf+0xb2>
|
||
73c: 8f 2d mov r24, r15
|
||
73e: 88 0f add r24, r24
|
||
740: f8 2e mov r15, r24
|
||
742: ff 0c add r15, r15
|
||
744: ff 0c add r15, r15
|
||
746: f8 0e add r15, r24
|
||
748: f2 0e add r15, r18
|
||
74a: 15 c0 rjmp .+42 ; 0x776 <vfprintf+0xdc>
|
||
74c: 8e 2d mov r24, r14
|
||
74e: 88 0f add r24, r24
|
||
750: e8 2e mov r14, r24
|
||
752: ee 0c add r14, r14
|
||
754: ee 0c add r14, r14
|
||
756: e8 0e add r14, r24
|
||
758: e2 0e add r14, r18
|
||
75a: 10 62 ori r17, 0x20 ; 32
|
||
75c: 0c c0 rjmp .+24 ; 0x776 <vfprintf+0xdc>
|
||
75e: 8e 32 cpi r24, 0x2E ; 46
|
||
760: 21 f4 brne .+8 ; 0x76a <vfprintf+0xd0>
|
||
762: 16 fd sbrc r17, 6
|
||
764: 60 c1 rjmp .+704 ; 0xa26 <vfprintf+0x38c>
|
||
766: 10 64 ori r17, 0x40 ; 64
|
||
768: 06 c0 rjmp .+12 ; 0x776 <vfprintf+0xdc>
|
||
76a: 8c 36 cpi r24, 0x6C ; 108
|
||
76c: 11 f4 brne .+4 ; 0x772 <vfprintf+0xd8>
|
||
76e: 10 68 ori r17, 0x80 ; 128
|
||
770: 02 c0 rjmp .+4 ; 0x776 <vfprintf+0xdc>
|
||
772: 88 36 cpi r24, 0x68 ; 104
|
||
774: 59 f4 brne .+22 ; 0x78c <vfprintf+0xf2>
|
||
776: ec 85 ldd r30, Y+12 ; 0x0c
|
||
778: fd 85 ldd r31, Y+13 ; 0x0d
|
||
77a: 93 fd sbrc r25, 3
|
||
77c: 85 91 lpm r24, Z+
|
||
77e: 93 ff sbrs r25, 3
|
||
780: 81 91 ld r24, Z+
|
||
782: fd 87 std Y+13, r31 ; 0x0d
|
||
784: ec 87 std Y+12, r30 ; 0x0c
|
||
786: 88 23 and r24, r24
|
||
788: 09 f0 breq .+2 ; 0x78c <vfprintf+0xf2>
|
||
78a: b8 cf rjmp .-144 ; 0x6fc <vfprintf+0x62>
|
||
78c: 98 2f mov r25, r24
|
||
78e: 95 54 subi r25, 0x45 ; 69
|
||
790: 93 30 cpi r25, 0x03 ; 3
|
||
792: 18 f0 brcs .+6 ; 0x79a <vfprintf+0x100>
|
||
794: 90 52 subi r25, 0x20 ; 32
|
||
796: 93 30 cpi r25, 0x03 ; 3
|
||
798: 38 f4 brcc .+14 ; 0x7a8 <vfprintf+0x10e>
|
||
79a: 24 e0 ldi r18, 0x04 ; 4
|
||
79c: 30 e0 ldi r19, 0x00 ; 0
|
||
79e: a2 0e add r10, r18
|
||
7a0: b3 1e adc r11, r19
|
||
7a2: 3f e3 ldi r19, 0x3F ; 63
|
||
7a4: 39 83 std Y+1, r19 ; 0x01
|
||
7a6: 0f c0 rjmp .+30 ; 0x7c6 <vfprintf+0x12c>
|
||
7a8: 83 36 cpi r24, 0x63 ; 99
|
||
7aa: 31 f0 breq .+12 ; 0x7b8 <vfprintf+0x11e>
|
||
7ac: 83 37 cpi r24, 0x73 ; 115
|
||
7ae: 81 f0 breq .+32 ; 0x7d0 <vfprintf+0x136>
|
||
7b0: 83 35 cpi r24, 0x53 ; 83
|
||
7b2: 09 f0 breq .+2 ; 0x7b6 <vfprintf+0x11c>
|
||
7b4: 56 c0 rjmp .+172 ; 0x862 <vfprintf+0x1c8>
|
||
7b6: 21 c0 rjmp .+66 ; 0x7fa <vfprintf+0x160>
|
||
7b8: f5 01 movw r30, r10
|
||
7ba: 80 81 ld r24, Z
|
||
7bc: 89 83 std Y+1, r24 ; 0x01
|
||
7be: 22 e0 ldi r18, 0x02 ; 2
|
||
7c0: 30 e0 ldi r19, 0x00 ; 0
|
||
7c2: a2 0e add r10, r18
|
||
7c4: b3 1e adc r11, r19
|
||
7c6: 21 e0 ldi r18, 0x01 ; 1
|
||
7c8: c2 2e mov r12, r18
|
||
7ca: d1 2c mov r13, r1
|
||
7cc: 42 01 movw r8, r4
|
||
7ce: 13 c0 rjmp .+38 ; 0x7f6 <vfprintf+0x15c>
|
||
7d0: 92 e0 ldi r25, 0x02 ; 2
|
||
7d2: 29 2e mov r2, r25
|
||
7d4: 31 2c mov r3, r1
|
||
7d6: 2a 0c add r2, r10
|
||
7d8: 3b 1c adc r3, r11
|
||
7da: f5 01 movw r30, r10
|
||
7dc: 80 80 ld r8, Z
|
||
7de: 91 80 ldd r9, Z+1 ; 0x01
|
||
7e0: 16 ff sbrs r17, 6
|
||
7e2: 03 c0 rjmp .+6 ; 0x7ea <vfprintf+0x150>
|
||
7e4: 6f 2d mov r22, r15
|
||
7e6: 70 e0 ldi r23, 0x00 ; 0
|
||
7e8: 02 c0 rjmp .+4 ; 0x7ee <vfprintf+0x154>
|
||
7ea: 6f ef ldi r22, 0xFF ; 255
|
||
7ec: 7f ef ldi r23, 0xFF ; 255
|
||
7ee: c4 01 movw r24, r8
|
||
7f0: 2e d1 rcall .+604 ; 0xa4e <strnlen>
|
||
7f2: 6c 01 movw r12, r24
|
||
7f4: 51 01 movw r10, r2
|
||
7f6: 1f 77 andi r17, 0x7F ; 127
|
||
7f8: 14 c0 rjmp .+40 ; 0x822 <vfprintf+0x188>
|
||
7fa: 82 e0 ldi r24, 0x02 ; 2
|
||
7fc: 28 2e mov r2, r24
|
||
7fe: 31 2c mov r3, r1
|
||
800: 2a 0c add r2, r10
|
||
802: 3b 1c adc r3, r11
|
||
804: f5 01 movw r30, r10
|
||
806: 80 80 ld r8, Z
|
||
808: 91 80 ldd r9, Z+1 ; 0x01
|
||
80a: 16 ff sbrs r17, 6
|
||
80c: 03 c0 rjmp .+6 ; 0x814 <vfprintf+0x17a>
|
||
80e: 6f 2d mov r22, r15
|
||
810: 70 e0 ldi r23, 0x00 ; 0
|
||
812: 02 c0 rjmp .+4 ; 0x818 <vfprintf+0x17e>
|
||
814: 6f ef ldi r22, 0xFF ; 255
|
||
816: 7f ef ldi r23, 0xFF ; 255
|
||
818: c4 01 movw r24, r8
|
||
81a: 0e d1 rcall .+540 ; 0xa38 <strnlen_P>
|
||
81c: 6c 01 movw r12, r24
|
||
81e: 10 68 ori r17, 0x80 ; 128
|
||
820: 51 01 movw r10, r2
|
||
822: 13 fd sbrc r17, 3
|
||
824: 1a c0 rjmp .+52 ; 0x85a <vfprintf+0x1c0>
|
||
826: 05 c0 rjmp .+10 ; 0x832 <vfprintf+0x198>
|
||
828: 80 e2 ldi r24, 0x20 ; 32
|
||
82a: 90 e0 ldi r25, 0x00 ; 0
|
||
82c: b3 01 movw r22, r6
|
||
82e: 1a d1 rcall .+564 ; 0xa64 <fputc>
|
||
830: ea 94 dec r14
|
||
832: 8e 2d mov r24, r14
|
||
834: 90 e0 ldi r25, 0x00 ; 0
|
||
836: c8 16 cp r12, r24
|
||
838: d9 06 cpc r13, r25
|
||
83a: b0 f3 brcs .-20 ; 0x828 <vfprintf+0x18e>
|
||
83c: 0e c0 rjmp .+28 ; 0x85a <vfprintf+0x1c0>
|
||
83e: f4 01 movw r30, r8
|
||
840: 17 fd sbrc r17, 7
|
||
842: 85 91 lpm r24, Z+
|
||
844: 17 ff sbrs r17, 7
|
||
846: 81 91 ld r24, Z+
|
||
848: 4f 01 movw r8, r30
|
||
84a: 90 e0 ldi r25, 0x00 ; 0
|
||
84c: b3 01 movw r22, r6
|
||
84e: 0a d1 rcall .+532 ; 0xa64 <fputc>
|
||
850: e1 10 cpse r14, r1
|
||
852: ea 94 dec r14
|
||
854: 08 94 sec
|
||
856: c1 08 sbc r12, r1
|
||
858: d1 08 sbc r13, r1
|
||
85a: c1 14 cp r12, r1
|
||
85c: d1 04 cpc r13, r1
|
||
85e: 79 f7 brne .-34 ; 0x83e <vfprintf+0x1a4>
|
||
860: df c0 rjmp .+446 ; 0xa20 <vfprintf+0x386>
|
||
862: 84 36 cpi r24, 0x64 ; 100
|
||
864: 11 f0 breq .+4 ; 0x86a <vfprintf+0x1d0>
|
||
866: 89 36 cpi r24, 0x69 ; 105
|
||
868: 49 f5 brne .+82 ; 0x8bc <vfprintf+0x222>
|
||
86a: f5 01 movw r30, r10
|
||
86c: 17 ff sbrs r17, 7
|
||
86e: 07 c0 rjmp .+14 ; 0x87e <vfprintf+0x1e4>
|
||
870: 80 81 ld r24, Z
|
||
872: 91 81 ldd r25, Z+1 ; 0x01
|
||
874: a2 81 ldd r26, Z+2 ; 0x02
|
||
876: b3 81 ldd r27, Z+3 ; 0x03
|
||
878: 24 e0 ldi r18, 0x04 ; 4
|
||
87a: 30 e0 ldi r19, 0x00 ; 0
|
||
87c: 08 c0 rjmp .+16 ; 0x88e <vfprintf+0x1f4>
|
||
87e: 80 81 ld r24, Z
|
||
880: 91 81 ldd r25, Z+1 ; 0x01
|
||
882: aa 27 eor r26, r26
|
||
884: 97 fd sbrc r25, 7
|
||
886: a0 95 com r26
|
||
888: ba 2f mov r27, r26
|
||
88a: 22 e0 ldi r18, 0x02 ; 2
|
||
88c: 30 e0 ldi r19, 0x00 ; 0
|
||
88e: a2 0e add r10, r18
|
||
890: b3 1e adc r11, r19
|
||
892: 01 2f mov r16, r17
|
||
894: 0f 76 andi r16, 0x6F ; 111
|
||
896: b7 ff sbrs r27, 7
|
||
898: 08 c0 rjmp .+16 ; 0x8aa <vfprintf+0x210>
|
||
89a: b0 95 com r27
|
||
89c: a0 95 com r26
|
||
89e: 90 95 com r25
|
||
8a0: 81 95 neg r24
|
||
8a2: 9f 4f sbci r25, 0xFF ; 255
|
||
8a4: af 4f sbci r26, 0xFF ; 255
|
||
8a6: bf 4f sbci r27, 0xFF ; 255
|
||
8a8: 00 68 ori r16, 0x80 ; 128
|
||
8aa: bc 01 movw r22, r24
|
||
8ac: cd 01 movw r24, r26
|
||
8ae: a2 01 movw r20, r4
|
||
8b0: 2a e0 ldi r18, 0x0A ; 10
|
||
8b2: 30 e0 ldi r19, 0x00 ; 0
|
||
8b4: 03 d1 rcall .+518 ; 0xabc <__ultoa_invert>
|
||
8b6: d8 2e mov r13, r24
|
||
8b8: d4 18 sub r13, r4
|
||
8ba: 3e c0 rjmp .+124 ; 0x938 <vfprintf+0x29e>
|
||
8bc: 85 37 cpi r24, 0x75 ; 117
|
||
8be: 21 f4 brne .+8 ; 0x8c8 <vfprintf+0x22e>
|
||
8c0: 1f 7e andi r17, 0xEF ; 239
|
||
8c2: 2a e0 ldi r18, 0x0A ; 10
|
||
8c4: 30 e0 ldi r19, 0x00 ; 0
|
||
8c6: 20 c0 rjmp .+64 ; 0x908 <vfprintf+0x26e>
|
||
8c8: 19 7f andi r17, 0xF9 ; 249
|
||
8ca: 8f 36 cpi r24, 0x6F ; 111
|
||
8cc: a9 f0 breq .+42 ; 0x8f8 <vfprintf+0x25e>
|
||
8ce: 80 37 cpi r24, 0x70 ; 112
|
||
8d0: 20 f4 brcc .+8 ; 0x8da <vfprintf+0x240>
|
||
8d2: 88 35 cpi r24, 0x58 ; 88
|
||
8d4: 09 f0 breq .+2 ; 0x8d8 <vfprintf+0x23e>
|
||
8d6: a7 c0 rjmp .+334 ; 0xa26 <vfprintf+0x38c>
|
||
8d8: 0b c0 rjmp .+22 ; 0x8f0 <vfprintf+0x256>
|
||
8da: 80 37 cpi r24, 0x70 ; 112
|
||
8dc: 21 f0 breq .+8 ; 0x8e6 <vfprintf+0x24c>
|
||
8de: 88 37 cpi r24, 0x78 ; 120
|
||
8e0: 09 f0 breq .+2 ; 0x8e4 <vfprintf+0x24a>
|
||
8e2: a1 c0 rjmp .+322 ; 0xa26 <vfprintf+0x38c>
|
||
8e4: 01 c0 rjmp .+2 ; 0x8e8 <vfprintf+0x24e>
|
||
8e6: 10 61 ori r17, 0x10 ; 16
|
||
8e8: 14 ff sbrs r17, 4
|
||
8ea: 09 c0 rjmp .+18 ; 0x8fe <vfprintf+0x264>
|
||
8ec: 14 60 ori r17, 0x04 ; 4
|
||
8ee: 07 c0 rjmp .+14 ; 0x8fe <vfprintf+0x264>
|
||
8f0: 14 ff sbrs r17, 4
|
||
8f2: 08 c0 rjmp .+16 ; 0x904 <vfprintf+0x26a>
|
||
8f4: 16 60 ori r17, 0x06 ; 6
|
||
8f6: 06 c0 rjmp .+12 ; 0x904 <vfprintf+0x26a>
|
||
8f8: 28 e0 ldi r18, 0x08 ; 8
|
||
8fa: 30 e0 ldi r19, 0x00 ; 0
|
||
8fc: 05 c0 rjmp .+10 ; 0x908 <vfprintf+0x26e>
|
||
8fe: 20 e1 ldi r18, 0x10 ; 16
|
||
900: 30 e0 ldi r19, 0x00 ; 0
|
||
902: 02 c0 rjmp .+4 ; 0x908 <vfprintf+0x26e>
|
||
904: 20 e1 ldi r18, 0x10 ; 16
|
||
906: 32 e0 ldi r19, 0x02 ; 2
|
||
908: f5 01 movw r30, r10
|
||
90a: 17 ff sbrs r17, 7
|
||
90c: 07 c0 rjmp .+14 ; 0x91c <vfprintf+0x282>
|
||
90e: 60 81 ld r22, Z
|
||
910: 71 81 ldd r23, Z+1 ; 0x01
|
||
912: 82 81 ldd r24, Z+2 ; 0x02
|
||
914: 93 81 ldd r25, Z+3 ; 0x03
|
||
916: 44 e0 ldi r20, 0x04 ; 4
|
||
918: 50 e0 ldi r21, 0x00 ; 0
|
||
91a: 06 c0 rjmp .+12 ; 0x928 <vfprintf+0x28e>
|
||
91c: 60 81 ld r22, Z
|
||
91e: 71 81 ldd r23, Z+1 ; 0x01
|
||
920: 80 e0 ldi r24, 0x00 ; 0
|
||
922: 90 e0 ldi r25, 0x00 ; 0
|
||
924: 42 e0 ldi r20, 0x02 ; 2
|
||
926: 50 e0 ldi r21, 0x00 ; 0
|
||
928: a4 0e add r10, r20
|
||
92a: b5 1e adc r11, r21
|
||
92c: a2 01 movw r20, r4
|
||
92e: c6 d0 rcall .+396 ; 0xabc <__ultoa_invert>
|
||
930: d8 2e mov r13, r24
|
||
932: d4 18 sub r13, r4
|
||
934: 01 2f mov r16, r17
|
||
936: 0f 77 andi r16, 0x7F ; 127
|
||
938: 06 ff sbrs r16, 6
|
||
93a: 09 c0 rjmp .+18 ; 0x94e <vfprintf+0x2b4>
|
||
93c: 0e 7f andi r16, 0xFE ; 254
|
||
93e: df 14 cp r13, r15
|
||
940: 30 f4 brcc .+12 ; 0x94e <vfprintf+0x2b4>
|
||
942: 04 ff sbrs r16, 4
|
||
944: 06 c0 rjmp .+12 ; 0x952 <vfprintf+0x2b8>
|
||
946: 02 fd sbrc r16, 2
|
||
948: 04 c0 rjmp .+8 ; 0x952 <vfprintf+0x2b8>
|
||
94a: 0f 7e andi r16, 0xEF ; 239
|
||
94c: 02 c0 rjmp .+4 ; 0x952 <vfprintf+0x2b8>
|
||
94e: 1d 2d mov r17, r13
|
||
950: 01 c0 rjmp .+2 ; 0x954 <vfprintf+0x2ba>
|
||
952: 1f 2d mov r17, r15
|
||
954: 80 2f mov r24, r16
|
||
956: 90 e0 ldi r25, 0x00 ; 0
|
||
958: 04 ff sbrs r16, 4
|
||
95a: 0c c0 rjmp .+24 ; 0x974 <vfprintf+0x2da>
|
||
95c: fe 01 movw r30, r28
|
||
95e: ed 0d add r30, r13
|
||
960: f1 1d adc r31, r1
|
||
962: 20 81 ld r18, Z
|
||
964: 20 33 cpi r18, 0x30 ; 48
|
||
966: 11 f4 brne .+4 ; 0x96c <vfprintf+0x2d2>
|
||
968: 09 7e andi r16, 0xE9 ; 233
|
||
96a: 09 c0 rjmp .+18 ; 0x97e <vfprintf+0x2e4>
|
||
96c: 02 ff sbrs r16, 2
|
||
96e: 06 c0 rjmp .+12 ; 0x97c <vfprintf+0x2e2>
|
||
970: 1e 5f subi r17, 0xFE ; 254
|
||
972: 05 c0 rjmp .+10 ; 0x97e <vfprintf+0x2e4>
|
||
974: 86 78 andi r24, 0x86 ; 134
|
||
976: 90 70 andi r25, 0x00 ; 0
|
||
978: 00 97 sbiw r24, 0x00 ; 0
|
||
97a: 09 f0 breq .+2 ; 0x97e <vfprintf+0x2e4>
|
||
97c: 1f 5f subi r17, 0xFF ; 255
|
||
97e: 80 2e mov r8, r16
|
||
980: 99 24 eor r9, r9
|
||
982: 03 fd sbrc r16, 3
|
||
984: 11 c0 rjmp .+34 ; 0x9a8 <vfprintf+0x30e>
|
||
986: 00 ff sbrs r16, 0
|
||
988: 0c c0 rjmp .+24 ; 0x9a2 <vfprintf+0x308>
|
||
98a: fd 2c mov r15, r13
|
||
98c: 1e 15 cp r17, r14
|
||
98e: 48 f4 brcc .+18 ; 0x9a2 <vfprintf+0x308>
|
||
990: fe 0c add r15, r14
|
||
992: f1 1a sub r15, r17
|
||
994: 1e 2d mov r17, r14
|
||
996: 05 c0 rjmp .+10 ; 0x9a2 <vfprintf+0x308>
|
||
998: 80 e2 ldi r24, 0x20 ; 32
|
||
99a: 90 e0 ldi r25, 0x00 ; 0
|
||
99c: b3 01 movw r22, r6
|
||
99e: 62 d0 rcall .+196 ; 0xa64 <fputc>
|
||
9a0: 1f 5f subi r17, 0xFF ; 255
|
||
9a2: 1e 15 cp r17, r14
|
||
9a4: c8 f3 brcs .-14 ; 0x998 <vfprintf+0x2fe>
|
||
9a6: 04 c0 rjmp .+8 ; 0x9b0 <vfprintf+0x316>
|
||
9a8: 1e 15 cp r17, r14
|
||
9aa: 10 f4 brcc .+4 ; 0x9b0 <vfprintf+0x316>
|
||
9ac: e1 1a sub r14, r17
|
||
9ae: 01 c0 rjmp .+2 ; 0x9b2 <vfprintf+0x318>
|
||
9b0: ee 24 eor r14, r14
|
||
9b2: 84 fe sbrs r8, 4
|
||
9b4: 0e c0 rjmp .+28 ; 0x9d2 <vfprintf+0x338>
|
||
9b6: 80 e3 ldi r24, 0x30 ; 48
|
||
9b8: 90 e0 ldi r25, 0x00 ; 0
|
||
9ba: b3 01 movw r22, r6
|
||
9bc: 53 d0 rcall .+166 ; 0xa64 <fputc>
|
||
9be: 82 fe sbrs r8, 2
|
||
9c0: 1d c0 rjmp .+58 ; 0x9fc <vfprintf+0x362>
|
||
9c2: 81 fe sbrs r8, 1
|
||
9c4: 03 c0 rjmp .+6 ; 0x9cc <vfprintf+0x332>
|
||
9c6: 88 e5 ldi r24, 0x58 ; 88
|
||
9c8: 90 e0 ldi r25, 0x00 ; 0
|
||
9ca: 10 c0 rjmp .+32 ; 0x9ec <vfprintf+0x352>
|
||
9cc: 88 e7 ldi r24, 0x78 ; 120
|
||
9ce: 90 e0 ldi r25, 0x00 ; 0
|
||
9d0: 0d c0 rjmp .+26 ; 0x9ec <vfprintf+0x352>
|
||
9d2: c4 01 movw r24, r8
|
||
9d4: 86 78 andi r24, 0x86 ; 134
|
||
9d6: 90 70 andi r25, 0x00 ; 0
|
||
9d8: 00 97 sbiw r24, 0x00 ; 0
|
||
9da: 81 f0 breq .+32 ; 0x9fc <vfprintf+0x362>
|
||
9dc: 81 fc sbrc r8, 1
|
||
9de: 02 c0 rjmp .+4 ; 0x9e4 <vfprintf+0x34a>
|
||
9e0: 80 e2 ldi r24, 0x20 ; 32
|
||
9e2: 01 c0 rjmp .+2 ; 0x9e6 <vfprintf+0x34c>
|
||
9e4: 8b e2 ldi r24, 0x2B ; 43
|
||
9e6: 07 fd sbrc r16, 7
|
||
9e8: 8d e2 ldi r24, 0x2D ; 45
|
||
9ea: 90 e0 ldi r25, 0x00 ; 0
|
||
9ec: b3 01 movw r22, r6
|
||
9ee: 3a d0 rcall .+116 ; 0xa64 <fputc>
|
||
9f0: 05 c0 rjmp .+10 ; 0x9fc <vfprintf+0x362>
|
||
9f2: 80 e3 ldi r24, 0x30 ; 48
|
||
9f4: 90 e0 ldi r25, 0x00 ; 0
|
||
9f6: b3 01 movw r22, r6
|
||
9f8: 35 d0 rcall .+106 ; 0xa64 <fputc>
|
||
9fa: fa 94 dec r15
|
||
9fc: df 14 cp r13, r15
|
||
9fe: c8 f3 brcs .-14 ; 0x9f2 <vfprintf+0x358>
|
||
a00: da 94 dec r13
|
||
a02: f2 01 movw r30, r4
|
||
a04: ed 0d add r30, r13
|
||
a06: f1 1d adc r31, r1
|
||
a08: 80 81 ld r24, Z
|
||
a0a: 90 e0 ldi r25, 0x00 ; 0
|
||
a0c: b3 01 movw r22, r6
|
||
a0e: 2a d0 rcall .+84 ; 0xa64 <fputc>
|
||
a10: dd 20 and r13, r13
|
||
a12: b1 f7 brne .-20 ; 0xa00 <vfprintf+0x366>
|
||
a14: 05 c0 rjmp .+10 ; 0xa20 <vfprintf+0x386>
|
||
a16: 80 e2 ldi r24, 0x20 ; 32
|
||
a18: 90 e0 ldi r25, 0x00 ; 0
|
||
a1a: b3 01 movw r22, r6
|
||
a1c: 23 d0 rcall .+70 ; 0xa64 <fputc>
|
||
a1e: ea 94 dec r14
|
||
a20: ee 20 and r14, r14
|
||
a22: c9 f7 brne .-14 ; 0xa16 <vfprintf+0x37c>
|
||
a24: 4d ce rjmp .-870 ; 0x6c0 <vfprintf+0x26>
|
||
a26: f3 01 movw r30, r6
|
||
a28: 86 81 ldd r24, Z+6 ; 0x06
|
||
a2a: 97 81 ldd r25, Z+7 ; 0x07
|
||
a2c: 02 c0 rjmp .+4 ; 0xa32 <vfprintf+0x398>
|
||
a2e: 8f ef ldi r24, 0xFF ; 255
|
||
a30: 9f ef ldi r25, 0xFF ; 255
|
||
a32: 2d 96 adiw r28, 0x0d ; 13
|
||
a34: e2 e1 ldi r30, 0x12 ; 18
|
||
a36: bc c0 rjmp .+376 ; 0xbb0 <__epilogue_restores__>
|
||
|
||
00000a38 <strnlen_P>:
|
||
a38: fc 01 movw r30, r24
|
||
a3a: 05 90 lpm r0, Z+
|
||
a3c: 61 50 subi r22, 0x01 ; 1
|
||
a3e: 70 40 sbci r23, 0x00 ; 0
|
||
a40: 01 10 cpse r0, r1
|
||
a42: d8 f7 brcc .-10 ; 0xa3a <strnlen_P+0x2>
|
||
a44: 80 95 com r24
|
||
a46: 90 95 com r25
|
||
a48: 8e 0f add r24, r30
|
||
a4a: 9f 1f adc r25, r31
|
||
a4c: 08 95 ret
|
||
|
||
00000a4e <strnlen>:
|
||
a4e: fc 01 movw r30, r24
|
||
a50: 61 50 subi r22, 0x01 ; 1
|
||
a52: 70 40 sbci r23, 0x00 ; 0
|
||
a54: 01 90 ld r0, Z+
|
||
a56: 01 10 cpse r0, r1
|
||
a58: d8 f7 brcc .-10 ; 0xa50 <strnlen+0x2>
|
||
a5a: 80 95 com r24
|
||
a5c: 90 95 com r25
|
||
a5e: 8e 0f add r24, r30
|
||
a60: 9f 1f adc r25, r31
|
||
a62: 08 95 ret
|
||
|
||
00000a64 <fputc>:
|
||
a64: 0f 93 push r16
|
||
a66: 1f 93 push r17
|
||
a68: cf 93 push r28
|
||
a6a: df 93 push r29
|
||
a6c: 8c 01 movw r16, r24
|
||
a6e: eb 01 movw r28, r22
|
||
a70: 8b 81 ldd r24, Y+3 ; 0x03
|
||
a72: 81 ff sbrs r24, 1
|
||
a74: 1b c0 rjmp .+54 ; 0xaac <fputc+0x48>
|
||
a76: 82 ff sbrs r24, 2
|
||
a78: 0d c0 rjmp .+26 ; 0xa94 <fputc+0x30>
|
||
a7a: 2e 81 ldd r18, Y+6 ; 0x06
|
||
a7c: 3f 81 ldd r19, Y+7 ; 0x07
|
||
a7e: 8c 81 ldd r24, Y+4 ; 0x04
|
||
a80: 9d 81 ldd r25, Y+5 ; 0x05
|
||
a82: 28 17 cp r18, r24
|
||
a84: 39 07 cpc r19, r25
|
||
a86: 64 f4 brge .+24 ; 0xaa0 <fputc+0x3c>
|
||
a88: e8 81 ld r30, Y
|
||
a8a: f9 81 ldd r31, Y+1 ; 0x01
|
||
a8c: 01 93 st Z+, r16
|
||
a8e: f9 83 std Y+1, r31 ; 0x01
|
||
a90: e8 83 st Y, r30
|
||
a92: 06 c0 rjmp .+12 ; 0xaa0 <fputc+0x3c>
|
||
a94: e8 85 ldd r30, Y+8 ; 0x08
|
||
a96: f9 85 ldd r31, Y+9 ; 0x09
|
||
a98: 80 2f mov r24, r16
|
||
a9a: 09 95 icall
|
||
a9c: 00 97 sbiw r24, 0x00 ; 0
|
||
a9e: 31 f4 brne .+12 ; 0xaac <fputc+0x48>
|
||
aa0: 8e 81 ldd r24, Y+6 ; 0x06
|
||
aa2: 9f 81 ldd r25, Y+7 ; 0x07
|
||
aa4: 01 96 adiw r24, 0x01 ; 1
|
||
aa6: 9f 83 std Y+7, r25 ; 0x07
|
||
aa8: 8e 83 std Y+6, r24 ; 0x06
|
||
aaa: 02 c0 rjmp .+4 ; 0xab0 <fputc+0x4c>
|
||
aac: 0f ef ldi r16, 0xFF ; 255
|
||
aae: 1f ef ldi r17, 0xFF ; 255
|
||
ab0: c8 01 movw r24, r16
|
||
ab2: df 91 pop r29
|
||
ab4: cf 91 pop r28
|
||
ab6: 1f 91 pop r17
|
||
ab8: 0f 91 pop r16
|
||
aba: 08 95 ret
|
||
|
||
00000abc <__ultoa_invert>:
|
||
abc: fa 01 movw r30, r20
|
||
abe: aa 27 eor r26, r26
|
||
ac0: 28 30 cpi r18, 0x08 ; 8
|
||
ac2: 51 f1 breq .+84 ; 0xb18 <__ultoa_invert+0x5c>
|
||
ac4: 20 31 cpi r18, 0x10 ; 16
|
||
ac6: 81 f1 breq .+96 ; 0xb28 <__ultoa_invert+0x6c>
|
||
ac8: e8 94 clt
|
||
aca: 6f 93 push r22
|
||
acc: 6e 7f andi r22, 0xFE ; 254
|
||
ace: 6e 5f subi r22, 0xFE ; 254
|
||
ad0: 7f 4f sbci r23, 0xFF ; 255
|
||
ad2: 8f 4f sbci r24, 0xFF ; 255
|
||
ad4: 9f 4f sbci r25, 0xFF ; 255
|
||
ad6: af 4f sbci r26, 0xFF ; 255
|
||
ad8: b1 e0 ldi r27, 0x01 ; 1
|
||
ada: 3e d0 rcall .+124 ; 0xb58 <__ultoa_invert+0x9c>
|
||
adc: b4 e0 ldi r27, 0x04 ; 4
|
||
ade: 3c d0 rcall .+120 ; 0xb58 <__ultoa_invert+0x9c>
|
||
ae0: 67 0f add r22, r23
|
||
ae2: 78 1f adc r23, r24
|
||
ae4: 89 1f adc r24, r25
|
||
ae6: 9a 1f adc r25, r26
|
||
ae8: a1 1d adc r26, r1
|
||
aea: 68 0f add r22, r24
|
||
aec: 79 1f adc r23, r25
|
||
aee: 8a 1f adc r24, r26
|
||
af0: 91 1d adc r25, r1
|
||
af2: a1 1d adc r26, r1
|
||
af4: 6a 0f add r22, r26
|
||
af6: 71 1d adc r23, r1
|
||
af8: 81 1d adc r24, r1
|
||
afa: 91 1d adc r25, r1
|
||
afc: a1 1d adc r26, r1
|
||
afe: 20 d0 rcall .+64 ; 0xb40 <__ultoa_invert+0x84>
|
||
b00: 09 f4 brne .+2 ; 0xb04 <__ultoa_invert+0x48>
|
||
b02: 68 94 set
|
||
b04: 3f 91 pop r19
|
||
b06: 2a e0 ldi r18, 0x0A ; 10
|
||
b08: 26 9f mul r18, r22
|
||
b0a: 11 24 eor r1, r1
|
||
b0c: 30 19 sub r19, r0
|
||
b0e: 30 5d subi r19, 0xD0 ; 208
|
||
b10: 31 93 st Z+, r19
|
||
b12: de f6 brtc .-74 ; 0xaca <__ultoa_invert+0xe>
|
||
b14: cf 01 movw r24, r30
|
||
b16: 08 95 ret
|
||
b18: 46 2f mov r20, r22
|
||
b1a: 47 70 andi r20, 0x07 ; 7
|
||
b1c: 40 5d subi r20, 0xD0 ; 208
|
||
b1e: 41 93 st Z+, r20
|
||
b20: b3 e0 ldi r27, 0x03 ; 3
|
||
b22: 0f d0 rcall .+30 ; 0xb42 <__ultoa_invert+0x86>
|
||
b24: c9 f7 brne .-14 ; 0xb18 <__ultoa_invert+0x5c>
|
||
b26: f6 cf rjmp .-20 ; 0xb14 <__ultoa_invert+0x58>
|
||
b28: 46 2f mov r20, r22
|
||
b2a: 4f 70 andi r20, 0x0F ; 15
|
||
b2c: 40 5d subi r20, 0xD0 ; 208
|
||
b2e: 4a 33 cpi r20, 0x3A ; 58
|
||
b30: 18 f0 brcs .+6 ; 0xb38 <__ultoa_invert+0x7c>
|
||
b32: 49 5d subi r20, 0xD9 ; 217
|
||
b34: 31 fd sbrc r19, 1
|
||
b36: 40 52 subi r20, 0x20 ; 32
|
||
b38: 41 93 st Z+, r20
|
||
b3a: 02 d0 rcall .+4 ; 0xb40 <__ultoa_invert+0x84>
|
||
b3c: a9 f7 brne .-22 ; 0xb28 <__ultoa_invert+0x6c>
|
||
b3e: ea cf rjmp .-44 ; 0xb14 <__ultoa_invert+0x58>
|
||
b40: b4 e0 ldi r27, 0x04 ; 4
|
||
b42: a6 95 lsr r26
|
||
b44: 97 95 ror r25
|
||
b46: 87 95 ror r24
|
||
b48: 77 95 ror r23
|
||
b4a: 67 95 ror r22
|
||
b4c: ba 95 dec r27
|
||
b4e: c9 f7 brne .-14 ; 0xb42 <__ultoa_invert+0x86>
|
||
b50: 00 97 sbiw r24, 0x00 ; 0
|
||
b52: 61 05 cpc r22, r1
|
||
b54: 71 05 cpc r23, r1
|
||
b56: 08 95 ret
|
||
b58: 9b 01 movw r18, r22
|
||
b5a: ac 01 movw r20, r24
|
||
b5c: 0a 2e mov r0, r26
|
||
b5e: 06 94 lsr r0
|
||
b60: 57 95 ror r21
|
||
b62: 47 95 ror r20
|
||
b64: 37 95 ror r19
|
||
b66: 27 95 ror r18
|
||
b68: ba 95 dec r27
|
||
b6a: c9 f7 brne .-14 ; 0xb5e <__ultoa_invert+0xa2>
|
||
b6c: 62 0f add r22, r18
|
||
b6e: 73 1f adc r23, r19
|
||
b70: 84 1f adc r24, r20
|
||
b72: 95 1f adc r25, r21
|
||
b74: a0 1d adc r26, r0
|
||
b76: 08 95 ret
|
||
|
||
00000b78 <__prologue_saves__>:
|
||
b78: 2f 92 push r2
|
||
b7a: 3f 92 push r3
|
||
b7c: 4f 92 push r4
|
||
b7e: 5f 92 push r5
|
||
b80: 6f 92 push r6
|
||
b82: 7f 92 push r7
|
||
b84: 8f 92 push r8
|
||
b86: 9f 92 push r9
|
||
b88: af 92 push r10
|
||
b8a: bf 92 push r11
|
||
b8c: cf 92 push r12
|
||
b8e: df 92 push r13
|
||
b90: ef 92 push r14
|
||
b92: ff 92 push r15
|
||
b94: 0f 93 push r16
|
||
b96: 1f 93 push r17
|
||
b98: cf 93 push r28
|
||
b9a: df 93 push r29
|
||
b9c: cd b7 in r28, 0x3d ; 61
|
||
b9e: de b7 in r29, 0x3e ; 62
|
||
ba0: ca 1b sub r28, r26
|
||
ba2: db 0b sbc r29, r27
|
||
ba4: 0f b6 in r0, 0x3f ; 63
|
||
ba6: f8 94 cli
|
||
ba8: de bf out 0x3e, r29 ; 62
|
||
baa: 0f be out 0x3f, r0 ; 63
|
||
bac: cd bf out 0x3d, r28 ; 61
|
||
bae: 09 94 ijmp
|
||
|
||
00000bb0 <__epilogue_restores__>:
|
||
bb0: 2a 88 ldd r2, Y+18 ; 0x12
|
||
bb2: 39 88 ldd r3, Y+17 ; 0x11
|
||
bb4: 48 88 ldd r4, Y+16 ; 0x10
|
||
bb6: 5f 84 ldd r5, Y+15 ; 0x0f
|
||
bb8: 6e 84 ldd r6, Y+14 ; 0x0e
|
||
bba: 7d 84 ldd r7, Y+13 ; 0x0d
|
||
bbc: 8c 84 ldd r8, Y+12 ; 0x0c
|
||
bbe: 9b 84 ldd r9, Y+11 ; 0x0b
|
||
bc0: aa 84 ldd r10, Y+10 ; 0x0a
|
||
bc2: b9 84 ldd r11, Y+9 ; 0x09
|
||
bc4: c8 84 ldd r12, Y+8 ; 0x08
|
||
bc6: df 80 ldd r13, Y+7 ; 0x07
|
||
bc8: ee 80 ldd r14, Y+6 ; 0x06
|
||
bca: fd 80 ldd r15, Y+5 ; 0x05
|
||
bcc: 0c 81 ldd r16, Y+4 ; 0x04
|
||
bce: 1b 81 ldd r17, Y+3 ; 0x03
|
||
bd0: aa 81 ldd r26, Y+2 ; 0x02
|
||
bd2: b9 81 ldd r27, Y+1 ; 0x01
|
||
bd4: ce 0f add r28, r30
|
||
bd6: d1 1d adc r29, r1
|
||
bd8: 0f b6 in r0, 0x3f ; 63
|
||
bda: f8 94 cli
|
||
bdc: de bf out 0x3e, r29 ; 62
|
||
bde: 0f be out 0x3f, r0 ; 63
|
||
be0: cd bf out 0x3d, r28 ; 61
|
||
be2: ed 01 movw r28, r26
|
||
be4: 08 95 ret
|
||
|
||
00000be6 <_exit>:
|
||
be6: f8 94 cli
|
||
|
||
00000be8 <__stop_program>:
|
||
be8: ff cf rjmp .-2 ; 0xbe8 <__stop_program>
|