examples: add sum example (its not pretty)

This commit is contained in:
Michael McLoughlin
2018-12-11 23:02:50 -08:00
parent 19d1761694
commit 2189d38d1e
6 changed files with 71 additions and 4 deletions

18
examples/sum/sum.s Normal file
View File

@@ -0,0 +1,18 @@
#include "textflag.h"
// func Sum(xs []uint64) uint64
TEXT ·Sum(SB),0,$0-32
MOVQ xs_base(FP), DX
MOVQ xs_len+8(FP), CX
XORQ AX, AX
loop:
CMPQ CX, $0x0
JE done
ADDQ (DX), AX
ADDQ $0x8, DX
DECQ CX
JMP loop
done:
MOVQ AX, ret+24(FP)
RET