Assembly 这个ARM组装程序是做什么的?

Assembly 这个ARM组装程序是做什么的?,assembly,arm,Assembly,Arm,谁能给我解释一下这个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

谁能给我解释一下这个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

这个函数看起来既琐碎又愚蠢

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;
  }
}
extern int*worddata;
外部变量int-wordtotal;
作废开始(作废)
{
int i,温度;
wordtotal=0;
对于(i=0;i<16;++i)
{
temp=worddata[i];
wordtotal+=温度;
}
}
玩得开心。

可能重复