这个ARM汇编程序是做什么的? [英] What does this ARM assembly program do?

查看:31
本文介绍了这个ARM汇编程序是做什么的?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

谁能给我解释一下这个 ARM 汇编程序是做什么的?

Can somebody explain to me what this ARM assembly program does?

.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

推荐答案

这个功能看似琐碎又愚蠢.

This function seems to be trivial and stupid at the same time.

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

玩得开心.

这篇关于这个ARM汇编程序是做什么的?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆