有人可以向我解释这个ARM汇编程序的作用吗?
.L5:
.worddata
.wordtotal
_start:
ldr ip, .L5
mov r1, #0
ldr r0, .L5+4
mov r3, r1
mov r2, r1
ldr ip, [ip, #0]
str r1, [r0, #0]
.L2:
ldr r1, [ip, r3]
add r3, r3, #4
cmp r3, #64
add r2, r2, r1
str r2, [r0, #0]
bne .L2
答案 0 :(得分:3)
这个功能在同一时间似乎是微不足道和愚蠢的。
extern int * worddata;
extern volatile int wordtotal;
void start(void)
{
int i, temp;
wordtotal = 0;
for (i = 0; i < 16; ++i)
{
temp = worddata[i];
wordtotal += temp;
}
}
玩得开心。