/*
* 递归
*/
void f()
{
f();
}
void main()
{
f();
}
#if 0
/*
* intel
*/
0000000000001129 <f>:
1129: f3 0f 1e fa endbr64
112d: 55 push %rbp
112e: 48 89 e5 mov %rsp,%rbp
1131: b8 00 00 00 00 mov $0x0,%eax
1136: e8 ee ff ff ff callq 1129 <f> // 调用自己
113b: 90 nop
113c: 5d pop %rbp
113d: c3 retq
000000000000113e <main>:
113e: f3 0f 1e fa endbr64
1142: 55 push %rbp
1143: 48 89 e5 mov %rsp,%rbp
1146: b8 00 00 00 00 mov $0x0,%eax
114b: e8 d9 ff ff ff callq 1129 <f>
1150: 90 nop
1151: 5d pop %rbp
1152: c3 retq
1153: 66 2e 0f 1f 84 00 00 nopw %cs:0x0(%rax,%rax,1)
115a: 00 00 00
115d: 0f 1f 00 nopl (%rax)
/*
* arm
*/
000000000040051c <f>:
40051c: a9bf7bfd stp x29, x30, [sp, #-16]!
400520: 910003fd mov x29, sp
400524: 97fffffe bl 40051c <f> // 调用自己
400528: d503201f nop
40052c: a8c17bfd ldp x29, x30, [sp], #16
400530: d65f03c0 ret
0000000000400534 <main>:
400534: a9bf7bfd stp x29, x30, [sp, #-16]!
400538: 910003fd mov x29, sp
40053c: 97fffff8 bl 40051c <f>
400540: d503201f nop
400544: a8c17bfd ldp x29, x30, [sp], #16
400548: d65f03c0 ret
40054c: 00000000 .inst 0x00000000 ; undefined
#endif