重庆生活网

标题: 请高手指导下面的LDR指令为何出错 [打印本页]

作者: 梁大洪    时间: 2020-3-25 21:01
标题: 请高手指导下面的LDR指令为何出错
各位大侠:      本人在arm汇编中有这么一条指令
      ldr  r5, ict_base                   其中  ict_base  QUE  0xfff00400
      在ADS软件调试时,能看到r5=0xfff00400, 可是对生成的bin文件作为boot rom仿真时,执行到这一条指令r5=0x00000000,为什么?
      另如果采用mov指令给r5赋值为 0xfff00400,则r5= 0xfff00400     ADS中不能直接赋值,要采用以下步骤:
        mov r5, 0x000000ff    lsl 24         mov  r6,  0x0000000f  lsl 20      orr r5, r5, r6
        mov  r6, 0x00000040, lsl 4          orr r5, r5, r6
        这么作,太麻烦。请高手指点一下   为什么会出现以上问题。   谢谢


作者: HSL    时间: 2020-3-25 21:01
1# walliamaa
上面没写好,具体汇编程序如下
ict_base  QUE  0xfff00400
    ldr  r5, =ict_base     
      在ADS软件调试时,能看到r5=0xfff00400, 可是对生成的bin文件作为boot rom仿真时,执行到这一条指令r5=0x00000000,为什么?
      另如果采用mov指令给r5赋值为 0xfff00400,则r5= 0xfff00400     ADS中不能直接赋值,要采用以下步骤:
        mov  r5, 0x000000ff      
        mov r5, r5,  lsl 24      
        mov  r6,  0x0000000f      
        mov r6, r6,  lsl 20      
        orr r5, r5, r6
        mov  r6, 0x00000040      
        mov r6, r6,  lsl 4         
        orr r5, r5, r6





欢迎光临 重庆生活网 (http://www.php200.cn/) Powered by Discuz! X3