arm 汇编 dcd定义数组初始化了 为什么加载数据

爱戴y 2015-07-26 09:03:57
memory map 我也改了为什么还是无法加载数据 我是在 keil中编程的

area aidaiy1, data, readwrite
data1 dcd 2,5,0,3,-4,5,0,10,9
data2 dcd 3,5,4,-2,0,8,3,-10,5
sum dcd 0,0,0,0,0,0,0,0

area aidaiy, code, readonly
entry
code32
Start ldr r1, =data1
ldr r2, =data2
ldr r3, =sum
mov r0, #0

loop ldr r4, [r1], #04
ldr r5, [r2], #04
adds r4, r5
add r0, r0, #1
str r4, [r3], #04
bne loop
b Start


end
...全文
2027 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
cs14789652 2017-12-28
  • 打赏
  • 举报
回复
路过帮顶。 通常这类疑问我会重新梳理地址,数值,空间的联系和变化。
aimit_zk 2017-12-26
  • 打赏
  • 举报
回复
我想问一下你说的“将接下来类似的几个全删掉”是什么意思?删什么?然后那个exec选项是在哪里的?
爱戴y 2015-07-26
  • 打赏
  • 举报
回复
问题我已经 解决了 我和大家分享一下 在 memory map 中 自定义的数组 系统会自动分配到 0x40000000 开始的内存地址,但是在这个 range 内没有选择 exec(可执行) 选项 因此 无法加载数据 ,做法就是 将接下来类似的的几个全删掉, 自己再加上一个range (必须选上 exec 选项),,这样就可以了
爱戴y 2015-07-26
  • 打赏
  • 举报
回复
我把数据段 改为 readonly 就可以加载数据了 为什么? 不要沉、啊

21,458

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧