重庆生活网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 生活 重庆
查看: 761|回复: 1

请高手指导下面的LDR指令为何出错

[复制链接]
发表于 2020-3-25 21:01:48 | 显示全部楼层 |阅读模式
各位大侠:      本人在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
        这么作,太麻烦。请高手指点一下   为什么会出现以上问题。   谢谢

回复

使用道具 举报

发表于 2020-3-25 21:01:56 | 显示全部楼层
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
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|联系我们|重庆生活网

GMT+8, 2021-9-27 15:34 , Processed in 0.156000 second(s), 17 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表