Azure' WorkSpace

Boot中相同的机器码

Technorati 标签: arm,boot

发现一个问题,在boot的代码里面,最开始的8行异常向量表竟然是一样的

LDR    pc, RESET_ENTRY
LDR    pc, UNDEF_ENTRY
LDR    pc, SWI_ENTRY
...
...
LDR    pc, FIQ_ENTRY
发现最终的机器码竟然都是 E59FF038,总共8行,觉得不可思议
发现其反汇编得到的是
LDR    pc,0x40
LDR    pc,0x44
...
LDR    pc,0x5C
对啊,反汇编的代码都不一样,为什么机器码是一样的呢?
最后跟一个师弟讨论,因为每条指令的地址不一样,load的pc也不一样,但是pc和当前地址的偏移地址是一样的。恩这就是真相。紧接下来
RESET_ENTRY    DCD    initial_target
UNDEF_ENTRY    DCD    UNDEF_Handler
。。。
FIQ_ENTRY    DCD    FIQ_Handler

posted on 2010-04-08 22:29  此用户有没昵称  阅读(244)  评论(0)    收藏  举报

导航