Note that there is 22 bytes of stuff before we get to "main". Then there is a final 4 bytes (_exit and __stop_program) that never get reached given that main() contains an infinite loop.
00000000 <__vectors>: 0: 09 c0 rjmp .+18 ; 0x14 <__ctors_end> 2: 0e c0 rjmp .+28 ; 0x20 <__bad_interrupt> 4: 0d c0 rjmp .+26 ; 0x20 <__bad_interrupt> 6: 0c c0 rjmp .+24 ; 0x20 <__bad_interrupt> 8: 0b c0 rjmp .+22 ; 0x20 <__bad_interrupt> a: 0a c0 rjmp .+20 ; 0x20 <__bad_interrupt> c: 09 c0 rjmp .+18 ; 0x20 <__bad_interrupt> e: 08 c0 rjmp .+16 ; 0x20 <__bad_interrupt> 10: 07 c0 rjmp .+14 ; 0x20 <__bad_interrupt> 12: 06 c0 rjmp .+12 ; 0x20 <__bad_interrupt> 00000014 <__ctors_end>: 14: 11 24 eor r1, r1 16: 1f be out 0x3f, r1 ; 63 18: cf e9 ldi r28, 0x9F ; 159 1a: cd bf out 0x3d, r28 ; 61 1c: 02 d0 rcall .+4 ; 0x221e: 12 c0 rjmp .+36 ; 0x44 <_exit> 00000020 <__bad_interrupt>: 20: ef cf rjmp .-34 ; 0x0 <__vectors> 00000022 : 22: 81 e0 ldi r24, 0x01 ; 1 24: 87 bb out 0x17, r24 ; 23 00000026 <.Loc.3>: 26: 18 ba out 0x18, r1 ; 24 00000028 <.Loc.5>: 28: 91 e0 ldi r25, 0x01 ; 1 0000002a <.L2>: 2a: 88 b3 in r24, 0x18 ; 24 0000002c <.Loc.8>: 2c: 89 27 eor r24, r25 2e: 88 bb out 0x18, r24 ; 24 00000030 <.LBB4>: 30: 2f eb ldi r18, 0xBF ; 191 32: 34 ed ldi r19, 0xD4 ; 212 34: 81 e0 ldi r24, 0x01 ; 1 00000036 <.L1^B1>: 36: 21 50 subi r18, 0x01 ; 1 38: 30 40 sbci r19, 0x00 ; 0 3a: 80 40 sbci r24, 0x00 ; 0 3c: e1 f7 brne .-8 ; 0x36 <.L1^B1> 3e: 00 c0 rjmp .+0 ; 0x40 00000040 : ... 00000042 <.LBE4>: 42: f3 cf rjmp .-26 ; 0x2a <.L2> 00000044 <_exit>: 44: f8 94 cli 00000046 <__stop_program>: 46: ff cf rjmp .-2 ; 0x46 <__stop_program>
Tom's Light Info / [email protected]