以下是使用汇编语言实现数组求和,适合初学者学习。
.text
.global _start
._start:
ldr r0,=buf
mov r1,#0 @存放从数组中去除的元素
mov r2,#0 @和
loop:
ldr r1,[r0],#4 @将r0的内存值赋值给r1,也就是buf的首元素
cmp r1,#0
beq stop
add r2,r1
b loop
stop:
nop
nop
.data
buf:
.word 0x01,0x02,0x03,0x04,0x0
.end