t.S
.text
.global main
moo:
ret
main:
call foo
nop
jmp main
foo:
rcall moo ; ну так писать некрасиво, понятное дело
ret ; просто демострация возможностей линкера
avr-gcc -Wa,-alm=t.lst -mmcu=atmega168 -Wl,--relax t.S
avr-objdump -DS a.out >t.dump
t.lst
2 .global main
3
4 moo:
5 0000 0895 ret
6
7 main:
8 0002 0E94 0000 call foo
9 0006 0000 nop
10 0008 0C94 0000 jmp main
11 foo:
12 000c 00D0 rcall moo
13 000e 0895 ret
t.dump (таблица векторов и очистка bss пропущены)
0000007a <moo>:
7a: 08 95 ret
0000007c <main>:
7c: 02 d0 rcall .+4 ; 0x82 <foo>
7e: 00 00 nop
80: fd cf rjmp .-6 ; 0x7c <main>
00000082 <foo>:
82: fb cf rjmp .-10 ; 0x7a <moo>