70,004
社区成员




(gdb) disassemble
Dump of assembler code for function main:
0x00010660 <main+0>: save %sp, -128, %sp
0x00010664 <main+4>: mov 1, %g1
0x00010668 <main+8>: st %g1, [ %fp + -32 ]
0x0001066c <main+12>: mov 2, %g1
0x00010670 <main+16>: st %g1, [ %fp + -28 ]
0x00010674 <main+20>: mov 3, %g1
0x00010678 <main+24>: st %g1, [ %fp + -24 ]
0x0001067c <main+28>: clr [ %fp + -36 ]
0x00010680 <main+32>: sethi %hi(0x10400), %g1
0x00010684 <main+36>: or %g1, 0x348, %o0 ! 0x10748
0x00010688 <main+40>: ld [ %fp + -32 ], %o1
0x0001068c <main+44>: ld [ %fp + -28 ], %o2
0x00010690 <main+48>: ld [ %fp + -24 ], %o3
0x00010694 <main+52>: call 0x207f4 <printf@plt>
0x00010698 <main+56>: nop
0x0001069c <main+60>: clr %g1 ! 0x0
0x000106a0 <main+64>: mov %g1, %i0
0x000106a4 <main+68>: ret
0x000106a8 <main+72>: restore
End of assembler dump.
(gdb) l
3 int main()
4 {
5 int a[3] = {1, 2, 3};
6 a[-1] = 0;
7
8 printf("%d,%d,%d", a[0], a[1], a[2]);
9 return 0;
10 }