这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 基础知识 » blx,symbol,symbol blx symbol 不跳转到symbol处

共2条 1/1 1 跳转至

blx,symbol,symbol blx symbol 不跳转到symbol处是何故?

院士
2006-09-17 18:14:16     打赏
blx,symbol,symbol blx symbol 不跳转到symbol处是何故?



关键词: symbol     不跳     转到     何故    

院士
2006-12-22 22:43:00     打赏
2楼
问 在ADS环境下,Project就包含一个C文件:
#include "stdio.h"
int main(void)
{    
    int a,b,c ;
    
    a = 10;
    b = 110;
    c = a + b;
    printf ("abcdefghijklmn\n");
    c = a+ b;
    c = a + b;
    return c;
}
编译和链接都没有问题,运行也没问题。但是利用AXD调试时,如果看反汇编的代码,
main    [0xe92d4070]   stmfd    r13!,{r4-r6,r14}
000000cc    [0xe3a0500a]   mov      r5,#0xa
000000d0    [0xe3a0606e]   mov      r6,#0x6e
000000d4    [0xe0854006]   add      r4,r5,r6
000000d8    [0xe28f0010]   add      r0,pc,#0x10 ; #0xf0
000000dc    [0xfa000008]   blx      _printf
000000e0    [0xe0854006]   add      r4,r5,r6
000000e4    [0xe0854006]   add      r4,r5,r6
。。。。。。。。。
_printf        [0xb40f]   push     {r0-r3}
00000106        [0xb500]   push     {r14}
00000108        [0xb08f]   sub      r13,#0x3c
0000010a        [0xa811]   add      r0,r13,#0x44
0000010c        [0x0880]   lsr      r0,r0,#2
单步跟踪,发现blx _printf根本不会跳转到_printf符号处,而是直接执行下面的add r4,r5,r6指令,这是怎么回事啊?
请大家指点!谢谢! 1: 大家碰到过此类问题吗?

共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]