hmmm
Das elf sieht bei mir so aus:
avr-gcc arg.c -o arg.elf -mmcu=atmega16 -Os
avr-objdump -d arg.elf
Und das hex so:Code:arg.elf: file format elf32-avr Disassembly of section .text: 00000000 <__vectors>: 0: 0c 94 2a 00 jmp 0x54 <__ctors_end> 4: 0c 94 45 00 jmp 0x8a <__bad_interrupt> 8: 0c 94 45 00 jmp 0x8a <__bad_interrupt> c: 0c 94 45 00 jmp 0x8a <__bad_interrupt> 10: 0c 94 45 00 jmp 0x8a <__bad_interrupt> 14: 0c 94 45 00 jmp 0x8a <__bad_interrupt> 18: 0c 94 45 00 jmp 0x8a <__bad_interrupt> 1c: 0c 94 45 00 jmp 0x8a <__bad_interrupt> 20: 0c 94 45 00 jmp 0x8a <__bad_interrupt> 24: 0c 94 45 00 jmp 0x8a <__bad_interrupt> 28: 0c 94 45 00 jmp 0x8a <__bad_interrupt> 2c: 0c 94 45 00 jmp 0x8a <__bad_interrupt> 30: 0c 94 45 00 jmp 0x8a <__bad_interrupt> 34: 0c 94 45 00 jmp 0x8a <__bad_interrupt> 38: 0c 94 45 00 jmp 0x8a <__bad_interrupt> 3c: 0c 94 45 00 jmp 0x8a <__bad_interrupt> 40: 0c 94 45 00 jmp 0x8a <__bad_interrupt> 44: 0c 94 45 00 jmp 0x8a <__bad_interrupt> 48: 0c 94 45 00 jmp 0x8a <__bad_interrupt> 4c: 0c 94 45 00 jmp 0x8a <__bad_interrupt> 50: 0c 94 45 00 jmp 0x8a <__bad_interrupt> 00000054 <__ctors_end>: 54: 11 24 eor r1, r1 56: 1f be out 0x3f, r1 ; 63 58: cf e5 ldi r28, 0x5F ; 95 5a: d4 e0 ldi r29, 0x04 ; 4 5c: de bf out 0x3e, r29 ; 62 5e: cd bf out 0x3d, r28 ; 61 00000060 <__do_copy_data>: 60: 10 e0 ldi r17, 0x00 ; 0 62: a0 e6 ldi r26, 0x60 ; 96 64: b0 e0 ldi r27, 0x00 ; 0 66: ec ee ldi r30, 0xEC ; 236 68: f0 e0 ldi r31, 0x00 ; 0 6a: 02 c0 rjmp .+4 ; 0x70 <.do_copy_data_start> 0000006c <.do_copy_data_loop>: 6c: 05 90 lpm r0, Z+ 6e: 0d 92 st X+, r0 00000070 <.do_copy_data_start>: 70: a0 36 cpi r26, 0x60 ; 96 72: b1 07 cpc r27, r17 74: d9 f7 brne .-10 ; 0x6c <.do_copy_data_loop> 00000076 <__do_clear_bss>: 76: 10 e0 ldi r17, 0x00 ; 0 78: a0 e6 ldi r26, 0x60 ; 96 7a: b0 e0 ldi r27, 0x00 ; 0 7c: 01 c0 rjmp .+2 ; 0x80 <.do_clear_bss_start> 0000007e <.do_clear_bss_loop>: 7e: 1d 92 st X+, r1 00000080 <.do_clear_bss_start>: 80: a0 36 cpi r26, 0x60 ; 96 82: b1 07 cpc r27, r17 84: e1 f7 brne .-8 ; 0x7e <.do_clear_bss_loop> 86: 0c 94 5e 00 jmp 0xbc <main> 0000008a <__bad_interrupt>: 8a: 0c 94 00 00 jmp 0x0 <__vectors> 0000008e <warte>: 8e: cf 93 push r28 90: df 93 push r29 92: ac 01 movw r20, r24 94: 20 e0 ldi r18, 0x00 ; 0 96: 30 e0 ldi r19, 0x00 ; 0 98: 28 17 cp r18, r24 9a: 39 07 cpc r19, r25 9c: 64 f4 brge .+24 ; 0xb6 <warte+0x28> 9e: a4 ec ldi r26, 0xC4 ; 196 a0: b9 e0 ldi r27, 0x09 ; 9 a2: c0 e0 ldi r28, 0x00 ; 0 a4: d0 e0 ldi r29, 0x00 ; 0 a6: cd 01 movw r24, r26 a8: 01 97 sbiw r24, 0x01 ; 1 aa: f1 f7 brne .-4 ; 0xa8 <warte+0x1a> ac: 2f 5f subi r18, 0xFF ; 255 ae: 3f 4f sbci r19, 0xFF ; 255 b0: 24 17 cp r18, r20 b2: 35 07 cpc r19, r21 b4: c4 f3 brlt .-16 ; 0xa6 <warte+0x18> b6: df 91 pop r29 b8: cf 91 pop r28 ba: 08 95 ret 000000bc <main>: bc: cf e5 ldi r28, 0x5F ; 95 be: d4 e0 ldi r29, 0x04 ; 4 c0: de bf out 0x3e, r29 ; 62 c2: cd bf out 0x3d, r28 ; 61 c4: 8f ef ldi r24, 0xFF ; 255 c6: 84 bb out 0x14, r24 ; 20 c8: 87 bb out 0x17, r24 ; 23 ca: 8a bb out 0x1a, r24 ; 26 cc: 8f ef ldi r24, 0xFF ; 255 ce: 88 bb out 0x18, r24 ; 24 d0: 8b bb out 0x1b, r24 ; 27 d2: 85 bb out 0x15, r24 ; 21 d4: 80 e9 ldi r24, 0x90 ; 144 d6: 91 e0 ldi r25, 0x01 ; 1 d8: 0e 94 47 00 call 0x8e <warte> dc: 18 ba out 0x18, r1 ; 24 de: 1b ba out 0x1b, r1 ; 27 e0: 15 ba out 0x15, r1 ; 21 e2: 80 e9 ldi r24, 0x90 ; 144 e4: 91 e0 ldi r25, 0x01 ; 1 e6: 0e 94 47 00 call 0x8e <warte> ea: f0 cf rjmp .-32 ; 0xcc <main+0x10>
avr-objcopy -j .text -j .data -O ihex arg.elf arg.hex
avr-objdump -D arg.hex -mavr5
Das hex codiert also rund 240 Bytes (Objektgröße) in 680 Bytes (Dateigröße).Code:arg.hex: file format ihex Disassembly of section .sec1: 00000000 <.sec1>: 0: 0c 94 2a 00 jmp 0x0x54 4: 0c 94 45 00 jmp 0x0x8a 8: 0c 94 45 00 jmp 0x0x8a c: 0c 94 45 00 jmp 0x0x8a 10: 0c 94 45 00 jmp 0x0x8a 14: 0c 94 45 00 jmp 0x0x8a 18: 0c 94 45 00 jmp 0x0x8a 1c: 0c 94 45 00 jmp 0x0x8a 20: 0c 94 45 00 jmp 0x0x8a 24: 0c 94 45 00 jmp 0x0x8a 28: 0c 94 45 00 jmp 0x0x8a 2c: 0c 94 45 00 jmp 0x0x8a 30: 0c 94 45 00 jmp 0x0x8a 34: 0c 94 45 00 jmp 0x0x8a 38: 0c 94 45 00 jmp 0x0x8a 3c: 0c 94 45 00 jmp 0x0x8a 40: 0c 94 45 00 jmp 0x0x8a 44: 0c 94 45 00 jmp 0x0x8a 48: 0c 94 45 00 jmp 0x0x8a 4c: 0c 94 45 00 jmp 0x0x8a 50: 0c 94 45 00 jmp 0x0x8a 54: 11 24 eor r1, r1 56: 1f be out 0x3f, r1 ; 63 58: cf e5 ldi r28, 0x5F ; 95 5a: d4 e0 ldi r29, 0x04 ; 4 5c: de bf out 0x3e, r29 ; 62 5e: cd bf out 0x3d, r28 ; 61 60: 10 e0 ldi r17, 0x00 ; 0 62: a0 e6 ldi r26, 0x60 ; 96 64: b0 e0 ldi r27, 0x00 ; 0 66: ec ee ldi r30, 0xEC ; 236 68: f0 e0 ldi r31, 0x00 ; 0 6a: 02 c0 rjmp .+4 ; 0x0x70 6c: 05 90 lpm r0, Z+ 6e: 0d 92 st X+, r0 70: a0 36 cpi r26, 0x60 ; 96 72: b1 07 cpc r27, r17 74: d9 f7 brne .-10 ; 0x0x6c 76: 10 e0 ldi r17, 0x00 ; 0 78: a0 e6 ldi r26, 0x60 ; 96 7a: b0 e0 ldi r27, 0x00 ; 0 7c: 01 c0 rjmp .+2 ; 0x0x80 7e: 1d 92 st X+, r1 80: a0 36 cpi r26, 0x60 ; 96 82: b1 07 cpc r27, r17 84: e1 f7 brne .-8 ; 0x0x7e 86: 0c 94 5e 00 jmp 0x0xbc 8a: 0c 94 00 00 jmp 0x0x0 8e: cf 93 push r28 90: df 93 push r29 92: ac 01 movw r20, r24 94: 20 e0 ldi r18, 0x00 ; 0 96: 30 e0 ldi r19, 0x00 ; 0 98: 28 17 cp r18, r24 9a: 39 07 cpc r19, r25 9c: 64 f4 brge .+24 ; 0x0xb6 9e: a4 ec ldi r26, 0xC4 ; 196 a0: b9 e0 ldi r27, 0x09 ; 9 a2: c0 e0 ldi r28, 0x00 ; 0 a4: d0 e0 ldi r29, 0x00 ; 0 a6: cd 01 movw r24, r26 a8: 01 97 sbiw r24, 0x01 ; 1 aa: f1 f7 brne .-4 ; 0x0xa8 ac: 2f 5f subi r18, 0xFF ; 255 ae: 3f 4f sbci r19, 0xFF ; 255 b0: 24 17 cp r18, r20 b2: 35 07 cpc r19, r21 b4: c4 f3 brlt .-16 ; 0x0xa6 b6: df 91 pop r29 b8: cf 91 pop r28 ba: 08 95 ret bc: cf e5 ldi r28, 0x5F ; 95 be: d4 e0 ldi r29, 0x04 ; 4 c0: de bf out 0x3e, r29 ; 62 c2: cd bf out 0x3d, r28 ; 61 c4: 8f ef ldi r24, 0xFF ; 255 c6: 84 bb out 0x14, r24 ; 20 c8: 87 bb out 0x17, r24 ; 23 ca: 8a bb out 0x1a, r24 ; 26 cc: 8f ef ldi r24, 0xFF ; 255 ce: 88 bb out 0x18, r24 ; 24 d0: 8b bb out 0x1b, r24 ; 27 d2: 85 bb out 0x15, r24 ; 21 d4: 80 e9 ldi r24, 0x90 ; 144 d6: 91 e0 ldi r25, 0x01 ; 1 d8: 0e 94 47 00 call 0x0x8e dc: 18 ba out 0x18, r1 ; 24 de: 1b ba out 0x1b, r1 ; 27 e0: 15 ba out 0x15, r1 ; 21 e2: 80 e9 ldi r24, 0x90 ; 144 e4: 91 e0 ldi r25, 0x01 ; 1 e6: 0e 94 47 00 call 0x0x8e ea: f0 cf rjmp .-32 ; 0x0xcc







Zitieren

Lesezeichen