לפננו פונקציה סטנדרטית ב-C אשר סוכמת אברי מערך. הארגומנטים הם כתובת המערך ומספר האיברים בו.
long long sum(long long *vec, unsigned long long len) {
long long s = 0;
for (unsigned long long i = 0; i < len; i++) {
s += vec[i];
}
return (sum);
}
להלן תרגום אפשרי לחלוטין של הקוד הנ"ל.
sum:
add t2, zero zero // s = 0
add t0, zero zero // i = 0
loop:
bgeu t0, a1, done // if (i >= len) goto done
slli t1, t0, 3 // i*8
add t1, t1, a0 // vec + i * 8
ld t1, 0(t1) // vec[i]
add t2,t2, t1 // s = s + vec[i]
addi t0, t0, 1 //
beq zero, zero, loop
done:
addi a0, t2 // return value
jalr zero, 0(ra) // return