请高手指导下面的LDR指令为何出错
各位大侠: 本人在arm汇编中有这么一条指令ldrr5, ict_base 其中ict_baseQUE0xfff00400
在ADS软件调试时,能看到r5=0xfff00400, 可是对生成的bin文件作为boot rom仿真时,执行到这一条指令r5=0x00000000,为什么?
另如果采用mov指令给r5赋值为 0xfff00400,则r5= 0xfff00400 ADS中不能直接赋值,要采用以下步骤:
mov r5, 0x000000ff lsl 24 movr6,0x0000000flsl 20 orr r5, r5, r6
movr6, 0x00000040, lsl 4 orr r5, r5, r6
这么作,太麻烦。请高手指点一下 为什么会出现以上问题。 谢谢
1# walliamaa
上面没写好,具体汇编程序如下
ict_baseQUE0xfff00400
ldrr5, =ict_base
在ADS软件调试时,能看到r5=0xfff00400, 可是对生成的bin文件作为boot rom仿真时,执行到这一条指令r5=0x00000000,为什么?
另如果采用mov指令给r5赋值为 0xfff00400,则r5= 0xfff00400 ADS中不能直接赋值,要采用以下步骤:
movr5, 0x000000ff
mov r5, r5,lsl 24
movr6,0x0000000f
mov r6, r6,lsl 20
orr r5, r5, r6
movr6, 0x00000040
mov r6, r6,lsl 4
orr r5, r5, r6
页:
[1]