Motor.elf: file format elf32-avr Sections: Idx Name Size VMA LMA File off Algn 0 .data 0000000a 00800100 00000280 000002f4 2**0 CONTENTS, ALLOC, LOAD, DATA 1 .text 00000280 00000000 00000000 00000074 2**1 CONTENTS, ALLOC, LOAD, READONLY, CODE 2 .stab 000006cc 00000000 00000000 00000300 2**2 CONTENTS, READONLY, DEBUGGING 3 .stabstr 00000085 00000000 00000000 000009cc 2**0 CONTENTS, READONLY, DEBUGGING 4 .debug_aranges 00000020 00000000 00000000 00000a51 2**0 CONTENTS, READONLY, DEBUGGING 5 .debug_pubnames 00000046 00000000 00000000 00000a71 2**0 CONTENTS, READONLY, DEBUGGING 6 .debug_info 00000492 00000000 00000000 00000ab7 2**0 CONTENTS, READONLY, DEBUGGING 7 .debug_abbrev 000001be 00000000 00000000 00000f49 2**0 CONTENTS, READONLY, DEBUGGING 8 .debug_line 00000375 00000000 00000000 00001107 2**0 CONTENTS, READONLY, DEBUGGING 9 .debug_frame 00000040 00000000 00000000 0000147c 2**2 CONTENTS, READONLY, DEBUGGING 10 .debug_str 000000ff 00000000 00000000 000014bc 2**0 CONTENTS, READONLY, DEBUGGING 11 .debug_loc 0000042d 00000000 00000000 000015bb 2**0 CONTENTS, READONLY, DEBUGGING 12 .debug_pubtypes 00000038 00000000 00000000 000019e8 2**0 CONTENTS, READONLY, DEBUGGING 13 .debug_ranges 00000128 00000000 00000000 00001a20 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: f8 c0 rjmp .+496 ; 0x1fa <__vector_4> 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: e0 e8 ldi r30, 0x80 ; 128 48: f2 e0 ldi r31, 0x02 ; 2 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: e0 d0 rcall .+448 ; 0x218
58: 11 c1 rjmp .+546 ; 0x27c <_exit> 0000005a <__bad_interrupt>: 5a: d2 cf rjmp .-92 ; 0x0 <__vectors> 0000005c : (1< 62: 82 2f mov r24, r18 64: 65 2f mov r22, r21 66: fe d0 rcall .+508 ; 0x264 <__udivmodqi4> 68: e9 2f mov r30, r25 6a: f0 e0 ldi r31, 0x00 ; 0 6c: e0 50 subi r30, 0x00 ; 0 6e: ff 4f sbci r31, 0xFF ; 255 70: 80 81 ld r24, Z 72: 85 b9 out 0x05, r24 ; 5 PORTD = motor[i]; 74: f9 01 movw r30, r18 76: ed 5f subi r30, 0xFD ; 253 78: fe 4f sbci r31, 0xFE ; 254 7a: 80 81 ld r24, Z 7c: 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); 7e: 8f e7 ldi r24, 0x7F ; 127 80: 9a e1 ldi r25, 0x1A ; 26 82: a6 e0 ldi r26, 0x06 ; 6 84: 81 50 subi r24, 0x01 ; 1 86: 90 40 sbci r25, 0x00 ; 0 88: a0 40 sbci r26, 0x00 ; 0 8a: e1 f7 brne .-8 ; 0x84 8c: 00 c0 rjmp .+0 ; 0x8e 8e: 00 00 nop 90: 2f 5f subi r18, 0xFF ; 255 92: 3f 4f sbci r19, 0xFF ; 255 }; void runon() { for(uint8_t j=0;j<2;j++) { for(uint8_t i=0;i<6;i++) { 94: 26 30 cpi r18, 0x06 ; 6 96: 31 05 cpc r19, r1 98: 21 f7 brne .-56 ; 0x62 9a: 41 50 subi r20, 0x01 ; 1 (1< (1< _delay_ms(100); } } for(uint8_t j=0;j<4;j++) { for(uint8_t i=0;i<6;i++) { PORTB = led[i%3]; a4: 82 2f mov r24, r18 a6: 65 2f mov r22, r21 a8: dd d0 rcall .+442 ; 0x264 <__udivmodqi4> aa: e9 2f mov r30, r25 ac: f0 e0 ldi r31, 0x00 ; 0 ae: e0 50 subi r30, 0x00 ; 0 b0: ff 4f sbci r31, 0xFF ; 255 b2: 80 81 ld r24, Z b4: 85 b9 out 0x05, r24 ; 5 PORTD = motor[i]; b6: f9 01 movw r30, r18 b8: ed 5f subi r30, 0xFD ; 253 ba: fe 4f sbci r31, 0xFE ; 254 bc: 80 81 ld r24, Z be: 8b b9 out 0x0b, r24 ; 11 c0: 8f e3 ldi r24, 0x3F ; 63 c2: 9d e0 ldi r25, 0x0D ; 13 c4: a3 e0 ldi r26, 0x03 ; 3 c6: 81 50 subi r24, 0x01 ; 1 c8: 90 40 sbci r25, 0x00 ; 0 ca: a0 40 sbci r26, 0x00 ; 0 cc: e1 f7 brne .-8 ; 0xc6 ce: 00 c0 rjmp .+0 ; 0xd0 d0: 00 00 nop d2: 2f 5f subi r18, 0xFF ; 255 d4: 3f 4f sbci r19, 0xFF ; 255 PORTD = motor[i]; _delay_ms(100); } } for(uint8_t j=0;j<4;j++) { for(uint8_t i=0;i<6;i++) { d6: 26 30 cpi r18, 0x06 ; 6 d8: 31 05 cpc r19, r1 da: 21 f7 brne .-56 ; 0xa4 dc: 41 50 subi r20, 0x01 ; 1 PORTB = led[i%3]; PORTD = motor[i]; _delay_ms(100); } } for(uint8_t j=0;j<4;j++) { de: 29 f4 brne .+10 ; 0xea e0: 48 e0 ldi r20, 0x08 ; 8 _delay_ms(50); } } for(uint8_t j=0;j<8;j++) { for(uint8_t i=0;i<6;i++) { PORTB = led[i%3]; e2: 53 e0 ldi r21, 0x03 ; 3 e4: 26 c0 rjmp .+76 ; 0x132 (1< _delay_ms(50); } } for(uint8_t j=0;j<8;j++) { for(uint8_t i=0;i<6;i++) { PORTB = led[i%3]; f0: 82 2f mov r24, r18 f2: 65 2f mov r22, r21 f4: b7 d0 rcall .+366 ; 0x264 <__udivmodqi4> f6: e9 2f mov r30, r25 f8: f0 e0 ldi r31, 0x00 ; 0 fa: e0 50 subi r30, 0x00 ; 0 fc: ff 4f sbci r31, 0xFF ; 255 fe: 80 81 ld r24, Z 100: 85 b9 out 0x05, r24 ; 5 PORTD = motor[i]; 102: f9 01 movw r30, r18 104: ed 5f subi r30, 0xFD ; 253 106: fe 4f sbci r31, 0xFE ; 254 108: 80 81 ld r24, Z 10a: 8b b9 out 0x0b, r24 ; 11 10c: 8f e7 ldi r24, 0x7F ; 127 10e: 98 e3 ldi r25, 0x38 ; 56 110: a1 e0 ldi r26, 0x01 ; 1 112: 81 50 subi r24, 0x01 ; 1 114: 90 40 sbci r25, 0x00 ; 0 116: a0 40 sbci r26, 0x00 ; 0 118: e1 f7 brne .-8 ; 0x112 11a: 00 c0 rjmp .+0 ; 0x11c 11c: 00 00 nop 11e: 2f 5f subi r18, 0xFF ; 255 120: 3f 4f sbci r19, 0xFF ; 255 PORTD = motor[i]; _delay_ms(50); } } for(uint8_t j=0;j<8;j++) { for(uint8_t i=0;i<6;i++) { 122: 26 30 cpi r18, 0x06 ; 6 124: 31 05 cpc r19, r1 126: 21 f7 brne .-56 ; 0xf0 128: 41 50 subi r20, 0x01 ; 1 PORTB = led[i%3]; PORTD = motor[i]; _delay_ms(50); } } for(uint8_t j=0;j<8;j++) { 12a: 19 f4 brne .+6 ; 0x132 12c: 40 e1 ldi r20, 0x10 ; 16 _delay_ms(20); } } for(uint8_t j=0;j<16;j++) { for(uint8_t i=0;i<6;i++) { PORTB = led[i%3]; 12e: 53 e0 ldi r21, 0x03 ; 3 130: 21 c0 rjmp .+66 ; 0x174 (1< _delay_ms(20); } } for(uint8_t j=0;j<16;j++) { for(uint8_t i=0;i<6;i++) { PORTB = led[i%3]; 138: 82 2f mov r24, r18 13a: 65 2f mov r22, r21 13c: 93 d0 rcall .+294 ; 0x264 <__udivmodqi4> 13e: e9 2f mov r30, r25 140: f0 e0 ldi r31, 0x00 ; 0 142: e0 50 subi r30, 0x00 ; 0 144: ff 4f sbci r31, 0xFF ; 255 146: 80 81 ld r24, Z 148: 85 b9 out 0x05, r24 ; 5 PORTD = motor[i]; 14a: f9 01 movw r30, r18 14c: ed 5f subi r30, 0xFD ; 253 14e: fe 4f sbci r31, 0xFE ; 254 150: 80 81 ld r24, Z 152: 8b b9 out 0x0b, r24 ; 11 154: af e4 ldi r26, 0x4F ; 79 156: b3 ec ldi r27, 0xC3 ; 195 158: 11 97 sbiw r26, 0x01 ; 1 15a: f1 f7 brne .-4 ; 0x158 15c: 00 c0 rjmp .+0 ; 0x15e 15e: 00 00 nop 160: 2f 5f subi r18, 0xFF ; 255 162: 3f 4f sbci r19, 0xFF ; 255 PORTD = motor[i]; _delay_ms(20); } } for(uint8_t j=0;j<16;j++) { for(uint8_t i=0;i<6;i++) { 164: 26 30 cpi r18, 0x06 ; 6 166: 31 05 cpc r19, r1 168: 39 f7 brne .-50 ; 0x138 16a: 41 50 subi r20, 0x01 ; 1 PORTB = led[i%3]; PORTD = motor[i]; _delay_ms(20); } } for(uint8_t j=0;j<16;j++) { 16c: 19 f4 brne .+6 ; 0x174 16e: 40 e2 ldi r20, 0x20 ; 32 _delay_ms(10); } } for(uint8_t j=0;j<32;j++) { for(uint8_t i=0;i<6;i++) { PORTB = led[i%3]; 170: 53 e0 ldi r21, 0x03 ; 3 172: 21 c0 rjmp .+66 ; 0x1b6 PORTB = led[i%3]; PORTD = motor[i]; _delay_ms(100); } } for(uint8_t j=0;j<4;j++) { 174: 20 e0 ldi r18, 0x00 ; 0 176: 30 e0 ldi r19, 0x00 ; 0 178: df cf rjmp .-66 ; 0x138 _delay_ms(10); } } for(uint8_t j=0;j<32;j++) { for(uint8_t i=0;i<6;i++) { PORTB = led[i%3]; 17a: 82 2f mov r24, r18 17c: 65 2f mov r22, r21 17e: 72 d0 rcall .+228 ; 0x264 <__udivmodqi4> 180: e9 2f mov r30, r25 182: f0 e0 ldi r31, 0x00 ; 0 184: e0 50 subi r30, 0x00 ; 0 186: ff 4f sbci r31, 0xFF ; 255 188: 80 81 ld r24, Z 18a: 85 b9 out 0x05, r24 ; 5 PORTD = motor[i]; 18c: f9 01 movw r30, r18 18e: ed 5f subi r30, 0xFD ; 253 190: fe 4f sbci r31, 0xFE ; 254 192: 80 81 ld r24, Z 194: 8b b9 out 0x0b, r24 ; 11 196: 87 ea ldi r24, 0xA7 ; 167 198: 91 e6 ldi r25, 0x61 ; 97 19a: 01 97 sbiw r24, 0x01 ; 1 19c: f1 f7 brne .-4 ; 0x19a 19e: 00 c0 rjmp .+0 ; 0x1a0 1a0: 00 00 nop 1a2: 2f 5f subi r18, 0xFF ; 255 1a4: 3f 4f sbci r19, 0xFF ; 255 PORTD = motor[i]; _delay_ms(10); } } for(uint8_t j=0;j<32;j++) { for(uint8_t i=0;i<6;i++) { 1a6: 26 30 cpi r18, 0x06 ; 6 1a8: 31 05 cpc r19, r1 1aa: 39 f7 brne .-50 ; 0x17a 1ac: 41 50 subi r20, 0x01 ; 1 PORTB = led[i%3]; PORTD = motor[i]; _delay_ms(10); } } for(uint8_t j=0;j<32;j++) { 1ae: 19 f4 brne .+6 ; 0x1b6 1b0: 40 e4 ldi r20, 0x40 ; 64 _delay_ms(5); } } for(uint8_t j=0;j<64;j++) { for(uint8_t i=0;i<6;i++) { PORTB = led[i%3]; 1b2: 53 e0 ldi r21, 0x03 ; 3 1b4: 1e c0 rjmp .+60 ; 0x1f2 PORTB = led[i%3]; PORTD = motor[i]; _delay_ms(50); } } for(uint8_t j=0;j<8;j++) { 1b6: 20 e0 ldi r18, 0x00 ; 0 1b8: 30 e0 ldi r19, 0x00 ; 0 1ba: df cf rjmp .-66 ; 0x17a _delay_ms(5); } } for(uint8_t j=0;j<64;j++) { for(uint8_t i=0;i<6;i++) { PORTB = led[i%3]; 1bc: 82 2f mov r24, r18 1be: 65 2f mov r22, r21 1c0: 51 d0 rcall .+162 ; 0x264 <__udivmodqi4> 1c2: e9 2f mov r30, r25 1c4: f0 e0 ldi r31, 0x00 ; 0 1c6: e0 50 subi r30, 0x00 ; 0 1c8: ff 4f sbci r31, 0xFF ; 255 1ca: 80 81 ld r24, Z 1cc: 85 b9 out 0x05, r24 ; 5 PORTD = motor[i]; 1ce: f9 01 movw r30, r18 1d0: ed 5f subi r30, 0xFD ; 253 1d2: fe 4f sbci r31, 0xFE ; 254 1d4: 80 81 ld r24, Z 1d6: 8b b9 out 0x0b, r24 ; 11 1d8: a7 e9 ldi r26, 0x97 ; 151 1da: ba e3 ldi r27, 0x3A ; 58 1dc: 11 97 sbiw r26, 0x01 ; 1 1de: f1 f7 brne .-4 ; 0x1dc 1e0: 00 c0 rjmp .+0 ; 0x1e2 1e2: 00 00 nop 1e4: 2f 5f subi r18, 0xFF ; 255 1e6: 3f 4f sbci r19, 0xFF ; 255 PORTD = motor[i]; _delay_ms(5); } } for(uint8_t j=0;j<64;j++) { for(uint8_t i=0;i<6;i++) { 1e8: 26 30 cpi r18, 0x06 ; 6 1ea: 31 05 cpc r19, r1 1ec: 39 f7 brne .-50 ; 0x1bc 1ee: 41 50 subi r20, 0x01 ; 1 PORTB = led[i%3]; PORTD = motor[i]; _delay_ms(5); } } for(uint8_t j=0;j<64;j++) { 1f0: 19 f0 breq .+6 ; 0x1f8 PORTB = led[i%3]; PORTD = motor[i]; _delay_ms(20); } } for(uint8_t j=0;j<16;j++) { 1f2: 20 e0 ldi r18, 0x00 ; 0 1f4: 30 e0 ldi r19, 0x00 ; 0 1f6: e2 cf rjmp .-60 ; 0x1bc 1f8: 08 95 ret 000001fa <__vector_4>: _delay_ms(3); } } } ISR(PCINT1_vect) { 1fa: 1f 92 push r1 1fc: 0f 92 push r0 1fe: 0f b6 in r0, 0x3f ; 63 200: 0f 92 push r0 202: 11 24 eor r1, r1 204: 8f 93 push r24 206: 9f 93 push r25 PORTD = 0; 208: 1b b8 out 0x0b, r1 ; 11 20a: 87 e8 ldi r24, 0x87 ; 135 20c: 93 e1 ldi r25, 0x13 ; 19 20e: 01 97 sbiw r24, 0x01 ; 1 210: f1 f7 brne .-4 ; 0x20e <__vector_4+0x14> 212: 00 c0 rjmp .+0 ; 0x214 <__vector_4+0x1a> 214: 00 00 nop 216: f9 cf rjmp .-14 ; 0x20a <__vector_4+0x10> 00000218
: } } int main(void) { cli(); 218: f8 94 cli DDRB |= (1< while(1) { for(uint8_t i=0;i<6;i++) { 22c: 20 e0 ldi r18, 0x00 ; 0 PORTB = led[i%3]; 22e: 33 e0 ldi r19, 0x03 ; 3 230: 82 2f mov r24, r18 232: 63 2f mov r22, r19 234: 17 d0 rcall .+46 ; 0x264 <__udivmodqi4> 236: e9 2f mov r30, r25 238: f0 e0 ldi r31, 0x00 ; 0 23a: e0 50 subi r30, 0x00 ; 0 23c: ff 4f sbci r31, 0xFF ; 255 23e: 80 81 ld r24, Z 240: 85 b9 out 0x05, r24 ; 5 PORTD = motor[i]; 242: e2 2f mov r30, r18 244: f0 e0 ldi r31, 0x00 ; 0 246: ed 5f subi r30, 0xFD ; 253 248: fe 4f sbci r31, 0xFE ; 254 24a: 80 81 ld r24, Z 24c: 8b b9 out 0x0b, r24 ; 11 24e: 8f e0 ldi r24, 0x0F ; 15 250: 97 e2 ldi r25, 0x27 ; 39 252: 01 97 sbiw r24, 0x01 ; 1 254: f1 f7 brne .-4 ; 0x252 256: 00 c0 rjmp .+0 ; 0x258 258: 00 00 nop sei(); runon(); while(1) { for(uint8_t i=0;i<6;i++) { 25a: 2f 5f subi r18, 0xFF ; 255 25c: 26 30 cpi r18, 0x06 ; 6 25e: 40 f3 brcs .-48 ; 0x230 260: 20 e0 ldi r18, 0x00 ; 0 262: e6 cf rjmp .-52 ; 0x230 00000264 <__udivmodqi4>: 264: 99 1b sub r25, r25 266: 79 e0 ldi r23, 0x09 ; 9 268: 04 c0 rjmp .+8 ; 0x272 <__udivmodqi4_ep> 0000026a <__udivmodqi4_loop>: 26a: 99 1f adc r25, r25 26c: 96 17 cp r25, r22 26e: 08 f0 brcs .+2 ; 0x272 <__udivmodqi4_ep> 270: 96 1b sub r25, r22 00000272 <__udivmodqi4_ep>: 272: 88 1f adc r24, r24 274: 7a 95 dec r23 276: c9 f7 brne .-14 ; 0x26a <__udivmodqi4_loop> 278: 80 95 com r24 27a: 08 95 ret 0000027c <_exit>: 27c: f8 94 cli 0000027e <__stop_program>: 27e: ff cf rjmp .-2 ; 0x27e <__stop_program>