为什么我在Arm组装str指令中遇到分段故障

为什么我在Arm组装str指令中遇到分段故障,arm,Arm,我是使用Arm组件启动的,我在线路str发生分段故障。我想,寄存器有关于var3的地址存储器,并使用寄存器11将值存储到存储器var3 我认为我的代码没有任何问题。。 请解决我的错误代码 考试.s .text .global main main: adr r3, var1 ldr r0, [r3] mov r0,r0, LSL #2 adr r3, var2 ldr r1, [r3] and r1,r1,#15 orr r1,r0,r1 adr r11,var3 str r1,[r11],#4

我是使用Arm组件启动的,我在线路str发生分段故障。我想,寄存器有关于var3的地址存储器,并使用寄存器11将值存储到存储器var3

我认为我的代码没有任何问题。。 请解决我的错误代码

考试.s

.text
.global main
main:
adr r3, var1
ldr r0, [r3]
mov r0,r0, LSL #2
adr r3, var2
ldr r1, [r3]
and r1,r1,#15
orr r1,r0,r1
adr r11,var3
str r1,[r11],#4

mov r0,#0
mov r7,#1
swi 0
var1: .word 10
var2: .word 20
var3: .word 0

变量位于
.text
部分,在sane系统中不可写(出于安全和效率原因)。
.data
节声明放在变量声明之前。

请设置代码格式。按原样阅读是不可能的。如果一个答案对你来说不够全面,你可能应该对此进行评论。你绝对不应该发表你自己的“答案”,这是问题的延伸。您可以编辑问题以向问题描述中添加详细信息。