arm汇编问题 之 printf

Jesse_Hao 2011-06-01 02:41:09
《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是怎么得出的了?静等解惑。。。
...全文
214 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
Jesse_Hao 2011-06-02
  • 打赏
  • 举报
回复
?

那正常情况 会是怎么个调法。。。
MSOKD 2011-06-01
  • 打赏
  • 举报
回复
你的反编译器有问题

21,458

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧