@@ -106,8 +106,8 @@ func main() {
|
|||||||
s := GP64()
|
s := GP64()
|
||||||
XORQ(s, s)
|
XORQ(s, s)
|
||||||
|
|
||||||
Comment("Loop until zero bytes remain.")
|
|
||||||
Label("loop")
|
Label("loop")
|
||||||
|
Comment("Loop until zero bytes remain.")
|
||||||
CMPQ(n, Imm(0))
|
CMPQ(n, Imm(0))
|
||||||
JE(LabelRef("done"))
|
JE(LabelRef("done"))
|
||||||
|
|
||||||
@@ -119,8 +119,8 @@ func main() {
|
|||||||
DECQ(n)
|
DECQ(n)
|
||||||
JMP(LabelRef("loop"))
|
JMP(LabelRef("loop"))
|
||||||
|
|
||||||
Comment("Store sum to return value.")
|
|
||||||
Label("done")
|
Label("done")
|
||||||
|
Comment("Store sum to return value.")
|
||||||
Store(s, ReturnIndex(0))
|
Store(s, ReturnIndex(0))
|
||||||
RET()
|
RET()
|
||||||
Generate()
|
Generate()
|
||||||
@@ -143,8 +143,8 @@ TEXT ·Sum(SB), NOSPLIT, $0-32
|
|||||||
// Initialize sum register to zero.
|
// Initialize sum register to zero.
|
||||||
XORQ DX, DX
|
XORQ DX, DX
|
||||||
|
|
||||||
// Loop until zero bytes remain.
|
|
||||||
loop:
|
loop:
|
||||||
|
// Loop until zero bytes remain.
|
||||||
CMPQ CX, $0x00
|
CMPQ CX, $0x00
|
||||||
JE done
|
JE done
|
||||||
|
|
||||||
@@ -156,8 +156,8 @@ loop:
|
|||||||
DECQ CX
|
DECQ CX
|
||||||
JMP loop
|
JMP loop
|
||||||
|
|
||||||
// Store sum to return value.
|
|
||||||
done:
|
done:
|
||||||
|
// Store sum to return value.
|
||||||
MOVQ DX, ret+24(FP)
|
MOVQ DX, ret+24(FP)
|
||||||
RET
|
RET
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -14,8 +14,8 @@ func main() {
|
|||||||
s := GP64()
|
s := GP64()
|
||||||
XORQ(s, s)
|
XORQ(s, s)
|
||||||
|
|
||||||
Comment("Loop until zero bytes remain.")
|
|
||||||
Label("loop")
|
Label("loop")
|
||||||
|
Comment("Loop until zero bytes remain.")
|
||||||
CMPQ(n, Imm(0))
|
CMPQ(n, Imm(0))
|
||||||
JE(LabelRef("done"))
|
JE(LabelRef("done"))
|
||||||
|
|
||||||
@@ -27,8 +27,8 @@ func main() {
|
|||||||
DECQ(n)
|
DECQ(n)
|
||||||
JMP(LabelRef("loop"))
|
JMP(LabelRef("loop"))
|
||||||
|
|
||||||
Comment("Store sum to return value.")
|
|
||||||
Label("done")
|
Label("done")
|
||||||
|
Comment("Store sum to return value.")
|
||||||
Store(s, ReturnIndex(0))
|
Store(s, ReturnIndex(0))
|
||||||
RET()
|
RET()
|
||||||
Generate()
|
Generate()
|
||||||
|
|||||||
@@ -17,8 +17,8 @@ func main() {
|
|||||||
s := GP64()
|
s := GP64()
|
||||||
XORQ(s, s)
|
XORQ(s, s)
|
||||||
|
|
||||||
Comment("Loop until zero bytes remain.")
|
|
||||||
Label("loop")
|
Label("loop")
|
||||||
|
Comment("Loop until zero bytes remain.")
|
||||||
CMPQ(n, Imm(0))
|
CMPQ(n, Imm(0))
|
||||||
JE(LabelRef("done"))
|
JE(LabelRef("done"))
|
||||||
|
|
||||||
@@ -30,8 +30,8 @@ func main() {
|
|||||||
DECQ(n)
|
DECQ(n)
|
||||||
JMP(LabelRef("loop"))
|
JMP(LabelRef("loop"))
|
||||||
|
|
||||||
Comment("Store sum to return value.")
|
|
||||||
Label("done")
|
Label("done")
|
||||||
|
Comment("Store sum to return value.")
|
||||||
Store(s, ReturnIndex(0))
|
Store(s, ReturnIndex(0))
|
||||||
RET()
|
RET()
|
||||||
Generate()
|
Generate()
|
||||||
|
|||||||
@@ -10,8 +10,8 @@ TEXT ·Sum(SB), NOSPLIT, $0-32
|
|||||||
// Initialize sum register to zero.
|
// Initialize sum register to zero.
|
||||||
XORQ DX, DX
|
XORQ DX, DX
|
||||||
|
|
||||||
// Loop until zero bytes remain.
|
|
||||||
loop:
|
loop:
|
||||||
|
// Loop until zero bytes remain.
|
||||||
CMPQ CX, $0x00
|
CMPQ CX, $0x00
|
||||||
JE done
|
JE done
|
||||||
|
|
||||||
@@ -23,7 +23,7 @@ loop:
|
|||||||
DECQ CX
|
DECQ CX
|
||||||
JMP loop
|
JMP loop
|
||||||
|
|
||||||
// Store sum to return value.
|
|
||||||
done:
|
done:
|
||||||
|
// Store sum to return value.
|
||||||
MOVQ DX, ret+24(FP)
|
MOVQ DX, ret+24(FP)
|
||||||
RET
|
RET
|
||||||
|
|||||||
Reference in New Issue
Block a user