这个ARM汇编程序做了什么?

时间:2013-11-20 00:57:29

标签: 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
    add r2, r2, r1
    str r2, [r0, #0]
    bne .L2

1 个答案:

答案 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;
  }
}

玩得开心。