186 lines
7.0 KiB
Plaintext
186 lines
7.0 KiB
Plaintext
|
|
||
|
Motor.elf: file format elf32-avr
|
||
|
|
||
|
Sections:
|
||
|
Idx Name Size VMA LMA File off Algn
|
||
|
0 .data 0000000a 00800100 000000d2 00000146 2**0
|
||
|
CONTENTS, ALLOC, LOAD, DATA
|
||
|
1 .text 000000d2 00000000 00000000 00000074 2**1
|
||
|
CONTENTS, ALLOC, LOAD, READONLY, CODE
|
||
|
2 .stab 000006cc 00000000 00000000 00000150 2**2
|
||
|
CONTENTS, READONLY, DEBUGGING
|
||
|
3 .stabstr 00000085 00000000 00000000 0000081c 2**0
|
||
|
CONTENTS, READONLY, DEBUGGING
|
||
|
4 .debug_aranges 00000020 00000000 00000000 000008a1 2**0
|
||
|
CONTENTS, READONLY, DEBUGGING
|
||
|
5 .debug_pubnames 0000002d 00000000 00000000 000008c1 2**0
|
||
|
CONTENTS, READONLY, DEBUGGING
|
||
|
6 .debug_info 000001e3 00000000 00000000 000008ee 2**0
|
||
|
CONTENTS, READONLY, DEBUGGING
|
||
|
7 .debug_abbrev 00000163 00000000 00000000 00000ad1 2**0
|
||
|
CONTENTS, READONLY, DEBUGGING
|
||
|
8 .debug_line 00000182 00000000 00000000 00000c34 2**0
|
||
|
CONTENTS, READONLY, DEBUGGING
|
||
|
9 .debug_frame 00000020 00000000 00000000 00000db8 2**2
|
||
|
CONTENTS, READONLY, DEBUGGING
|
||
|
10 .debug_str 000000ee 00000000 00000000 00000dd8 2**0
|
||
|
CONTENTS, READONLY, DEBUGGING
|
||
|
11 .debug_loc 0000001f 00000000 00000000 00000ec6 2**0
|
||
|
CONTENTS, READONLY, DEBUGGING
|
||
|
12 .debug_pubtypes 00000038 00000000 00000000 00000ee5 2**0
|
||
|
CONTENTS, READONLY, DEBUGGING
|
||
|
|
||
|
Disassembly of section .text:
|
||
|
|
||
|
00000000 <__vectors>:
|
||
|
0: 19 c0 rjmp .+50 ; 0x34 <__ctors_end>
|
||
|
2: 2b c0 rjmp .+86 ; 0x5a <__bad_interrupt>
|
||
|
4: 2a c0 rjmp .+84 ; 0x5a <__bad_interrupt>
|
||
|
6: 29 c0 rjmp .+82 ; 0x5a <__bad_interrupt>
|
||
|
8: 28 c0 rjmp .+80 ; 0x5a <__bad_interrupt>
|
||
|
a: 27 c0 rjmp .+78 ; 0x5a <__bad_interrupt>
|
||
|
c: 26 c0 rjmp .+76 ; 0x5a <__bad_interrupt>
|
||
|
e: 25 c0 rjmp .+74 ; 0x5a <__bad_interrupt>
|
||
|
10: 24 c0 rjmp .+72 ; 0x5a <__bad_interrupt>
|
||
|
12: 23 c0 rjmp .+70 ; 0x5a <__bad_interrupt>
|
||
|
14: 22 c0 rjmp .+68 ; 0x5a <__bad_interrupt>
|
||
|
16: 21 c0 rjmp .+66 ; 0x5a <__bad_interrupt>
|
||
|
18: 20 c0 rjmp .+64 ; 0x5a <__bad_interrupt>
|
||
|
1a: 1f c0 rjmp .+62 ; 0x5a <__bad_interrupt>
|
||
|
1c: 1e c0 rjmp .+60 ; 0x5a <__bad_interrupt>
|
||
|
1e: 1d c0 rjmp .+58 ; 0x5a <__bad_interrupt>
|
||
|
20: 1c c0 rjmp .+56 ; 0x5a <__bad_interrupt>
|
||
|
22: 1b c0 rjmp .+54 ; 0x5a <__bad_interrupt>
|
||
|
24: 1a c0 rjmp .+52 ; 0x5a <__bad_interrupt>
|
||
|
26: 19 c0 rjmp .+50 ; 0x5a <__bad_interrupt>
|
||
|
28: 18 c0 rjmp .+48 ; 0x5a <__bad_interrupt>
|
||
|
2a: 17 c0 rjmp .+46 ; 0x5a <__bad_interrupt>
|
||
|
2c: 16 c0 rjmp .+44 ; 0x5a <__bad_interrupt>
|
||
|
2e: 15 c0 rjmp .+42 ; 0x5a <__bad_interrupt>
|
||
|
30: 14 c0 rjmp .+40 ; 0x5a <__bad_interrupt>
|
||
|
32: 13 c0 rjmp .+38 ; 0x5a <__bad_interrupt>
|
||
|
|
||
|
00000034 <__ctors_end>:
|
||
|
34: 11 24 eor r1, r1
|
||
|
36: 1f be out 0x3f, r1 ; 63
|
||
|
38: cf ef ldi r28, 0xFF ; 255
|
||
|
3a: d2 e0 ldi r29, 0x02 ; 2
|
||
|
3c: de bf out 0x3e, r29 ; 62
|
||
|
3e: cd bf out 0x3d, r28 ; 61
|
||
|
|
||
|
00000040 <__do_copy_data>:
|
||
|
40: 11 e0 ldi r17, 0x01 ; 1
|
||
|
42: a0 e0 ldi r26, 0x00 ; 0
|
||
|
44: b1 e0 ldi r27, 0x01 ; 1
|
||
|
46: e2 ed ldi r30, 0xD2 ; 210
|
||
|
48: f0 e0 ldi r31, 0x00 ; 0
|
||
|
4a: 02 c0 rjmp .+4 ; 0x50 <__do_copy_data+0x10>
|
||
|
4c: 05 90 lpm r0, Z+
|
||
|
4e: 0d 92 st X+, r0
|
||
|
50: aa 30 cpi r26, 0x0A ; 10
|
||
|
52: b1 07 cpc r27, r17
|
||
|
54: d9 f7 brne .-10 ; 0x4c <__do_copy_data+0xc>
|
||
|
56: 02 d0 rcall .+4 ; 0x5c <main>
|
||
|
58: 3a c0 rjmp .+116 ; 0xce <_exit>
|
||
|
|
||
|
0000005a <__bad_interrupt>:
|
||
|
5a: d2 cf rjmp .-92 ; 0x0 <__vectors>
|
||
|
|
||
|
0000005c <main>:
|
||
|
(1<<PD0)|(1<<PD3),(1<<PD4)|(1<<PD3)
|
||
|
|
||
|
};
|
||
|
|
||
|
int main(void) {
|
||
|
DDRB |= (1<<PB3) | (1<<PB4) | (1<<PB5) | (1<<PB0);
|
||
|
5c: 84 b1 in r24, 0x04 ; 4
|
||
|
5e: 89 63 ori r24, 0x39 ; 57
|
||
|
60: 84 b9 out 0x04, r24 ; 4
|
||
|
DDRD |= 0b11111111;
|
||
|
62: 8a b1 in r24, 0x0a ; 10
|
||
|
64: 8f ef ldi r24, 0xFF ; 255
|
||
|
66: 8a b9 out 0x0a, r24 ; 10
|
||
|
PORTB |= (1<<PB0);
|
||
|
68: 28 9a sbi 0x05, 0 ; 5
|
||
|
while(1) {
|
||
|
for(uint8_t i=0;i<6;i++) {
|
||
|
6a: 20 e0 ldi r18, 0x00 ; 0
|
||
|
PORTB |= led[i%3];
|
||
|
6c: 33 e0 ldi r19, 0x03 ; 3
|
||
|
6e: 45 b1 in r20, 0x05 ; 5
|
||
|
70: 82 2f mov r24, r18
|
||
|
72: 63 2f mov r22, r19
|
||
|
74: 20 d0 rcall .+64 ; 0xb6 <__udivmodqi4>
|
||
|
76: e9 2f mov r30, r25
|
||
|
78: f0 e0 ldi r31, 0x00 ; 0
|
||
|
7a: e0 50 subi r30, 0x00 ; 0
|
||
|
7c: ff 4f sbci r31, 0xFF ; 255
|
||
|
7e: 80 81 ld r24, Z
|
||
|
80: 84 2b or r24, r20
|
||
|
82: 85 b9 out 0x05, r24 ; 5
|
||
|
PORTD |= motor[i];
|
||
|
84: 9b b1 in r25, 0x0b ; 11
|
||
|
86: a2 2f mov r26, r18
|
||
|
88: b0 e0 ldi r27, 0x00 ; 0
|
||
|
8a: ad 5f subi r26, 0xFD ; 253
|
||
|
8c: be 4f sbci r27, 0xFE ; 254
|
||
|
8e: 8c 91 ld r24, X
|
||
|
90: 89 2b or r24, r25
|
||
|
92: 8b b9 out 0x0b, r24 ; 11
|
||
|
#else
|
||
|
//round up by default
|
||
|
__ticks_dc = (uint32_t)(ceil(fabs(__tmp)));
|
||
|
#endif
|
||
|
|
||
|
__builtin_avr_delay_cycles(__ticks_dc);
|
||
|
94: 87 ea ldi r24, 0xA7 ; 167
|
||
|
96: 91 e6 ldi r25, 0x61 ; 97
|
||
|
98: 01 97 sbiw r24, 0x01 ; 1
|
||
|
9a: f1 f7 brne .-4 ; 0x98 <main+0x3c>
|
||
|
9c: 00 c0 rjmp .+0 ; 0x9e <main+0x42>
|
||
|
9e: 00 00 nop
|
||
|
_delay_ms(5);
|
||
|
PORTB &= ~(led[i%3]);
|
||
|
a0: 95 b1 in r25, 0x05 ; 5
|
||
|
a2: 80 81 ld r24, Z
|
||
|
a4: 80 95 com r24
|
||
|
a6: 89 23 and r24, r25
|
||
|
a8: 85 b9 out 0x05, r24 ; 5
|
||
|
PORTD = 0;
|
||
|
aa: 1b b8 out 0x0b, r1 ; 11
|
||
|
int main(void) {
|
||
|
DDRB |= (1<<PB3) | (1<<PB4) | (1<<PB5) | (1<<PB0);
|
||
|
DDRD |= 0b11111111;
|
||
|
PORTB |= (1<<PB0);
|
||
|
while(1) {
|
||
|
for(uint8_t i=0;i<6;i++) {
|
||
|
ac: 2f 5f subi r18, 0xFF ; 255
|
||
|
ae: 26 30 cpi r18, 0x06 ; 6
|
||
|
b0: f0 f2 brcs .-68 ; 0x6e <main+0x12>
|
||
|
b2: 20 e0 ldi r18, 0x00 ; 0
|
||
|
b4: dc cf rjmp .-72 ; 0x6e <main+0x12>
|
||
|
|
||
|
000000b6 <__udivmodqi4>:
|
||
|
b6: 99 1b sub r25, r25
|
||
|
b8: 79 e0 ldi r23, 0x09 ; 9
|
||
|
ba: 04 c0 rjmp .+8 ; 0xc4 <__udivmodqi4_ep>
|
||
|
|
||
|
000000bc <__udivmodqi4_loop>:
|
||
|
bc: 99 1f adc r25, r25
|
||
|
be: 96 17 cp r25, r22
|
||
|
c0: 08 f0 brcs .+2 ; 0xc4 <__udivmodqi4_ep>
|
||
|
c2: 96 1b sub r25, r22
|
||
|
|
||
|
000000c4 <__udivmodqi4_ep>:
|
||
|
c4: 88 1f adc r24, r24
|
||
|
c6: 7a 95 dec r23
|
||
|
c8: c9 f7 brne .-14 ; 0xbc <__udivmodqi4_loop>
|
||
|
ca: 80 95 com r24
|
||
|
cc: 08 95 ret
|
||
|
|
||
|
000000ce <_exit>:
|
||
|
ce: f8 94 cli
|
||
|
|
||
|
000000d0 <__stop_program>:
|
||
|
d0: ff cf rjmp .-2 ; 0xd0 <__stop_program>
|