cortex-m3 thumb2指令str咨询

2019-07-21 01:19发布

各位前辈求指点:
小弟用keil mdk写了以下汇编代码,意在验证str指令的功能:
    AREA RESET , CODE, READWRITE, ALIGN=3
STACK_VALUE EQU 0x20008000
    DCD STACK_VALUE
    DCD start

    ENTRY

start
    mov r0,#0x10000000
    mov r1,#0x5555
    str r1,[r0,#0]
    ldr r2,[r0,#0]

loop
    B loop
    nop
table
    dcd 0x0,0x33334444,0x55556666
END

可为何执行后,r2读取到的值并非0x5555呢? 我尝试了给r0赋了很多值,发现在code区(0x00000000~0x1FFFFFFF)内 r2都读取不到0x5555,当给r0赋超过0x20000000的值,最后r2的值均为0x5555;
各位大虾谁能帮忙解惑呀?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
zc123
1楼-- · 2019-07-21 04:41
 精彩回答 2  元偷偷看……
myxiaoniao
2楼-- · 2019-07-21 09:24
 精彩回答 2  元偷偷看……
散落的沙
3楼-- · 2019-07-21 12:44
回复【2楼】myxiaoniao:
---------------------------------
属性我设置为 READWRITE了,这样也不行吗?
为何指令str rd, [rn,#offset] 中只说明 [rn,#offset]是存储区,并没有说code不行?
散落的沙
4楼-- · 2019-07-21 13:33
回复【4楼】zc123:
---------------------------------
了解了,小弟初学,谢谢指点!

一周热门 更多>