arm汇编问题 之 printf
《printf》
一个简单的反汇编的内容:
0000837c <print>:
void print(void)
{
837c: e92d4800 push {fp, lr}
8380: e28db004 add fp, sp, #4 ; 0x4
printf("1234abcd\n");
8384: e59f000c ldr r0, [pc, #12] ; 8398 <print+0x1c>
8388: ebffffcb bl 82bc <_init+0x48> //==>A
}
838c: e24bd004 sub sp, fp, #4 ; 0x4
8390: e8bd4800 pop {fp, lr}
8394: e12fff1e bx lr
8398: 00008444 .word 0x00008444
A:
82bc: e28fc600 add ip, pc, #0 ; 0x0
82c0: e28cca08 add ip, ip, #32768 ; 0x8000
82c4: e5bcf2a4 ldr pc, [ip, #676]!
最后这三行,是如何调用printf 的,这个#32768 #676是怎么得出的了?静等解惑。。。