|
|
@@ -1,47 +0,0 @@
|
|
|
-#include "textflag.h"
|
|
|
-
|
|
|
-// func xorfwd(x []byte)
|
|
|
-TEXT ·xorfwd(SB),NOSPLIT,$0
|
|
|
- MOVQ x+0(FP), SI // x[i]
|
|
|
- MOVQ x_len+8(FP), CX // x.len
|
|
|
- MOVQ x+0(FP), DI
|
|
|
- ADDQ $4, DI // x[i+4]
|
|
|
- SUBQ $4, CX
|
|
|
-xorfwdloop:
|
|
|
- MOVL (SI), AX
|
|
|
- XORL AX, (DI)
|
|
|
- ADDQ $4, SI
|
|
|
- ADDQ $4, DI
|
|
|
- SUBQ $4, CX
|
|
|
-
|
|
|
- CMPL CX, $0
|
|
|
- JE xorfwddone
|
|
|
-
|
|
|
- JMP xorfwdloop
|
|
|
-xorfwddone:
|
|
|
- RET
|
|
|
-
|
|
|
-// func xorbkd(x []byte)
|
|
|
-TEXT ·xorbkd(SB),NOSPLIT,$0
|
|
|
- MOVQ x+0(FP), SI
|
|
|
- MOVQ x_len+8(FP), CX // x.len
|
|
|
- MOVQ x+0(FP), DI
|
|
|
- ADDQ CX, SI // x[-8]
|
|
|
- SUBQ $8, SI
|
|
|
- ADDQ CX, DI // x[-4]
|
|
|
- SUBQ $4, DI
|
|
|
- SUBQ $4, CX
|
|
|
-xorbkdloop:
|
|
|
- MOVL (SI), AX
|
|
|
- XORL AX, (DI)
|
|
|
- SUBQ $4, SI
|
|
|
- SUBQ $4, DI
|
|
|
- SUBQ $4, CX
|
|
|
-
|
|
|
- CMPL CX, $0
|
|
|
- JE xorbkddone
|
|
|
-
|
|
|
- JMP xorbkdloop
|
|
|
-
|
|
|
-xorbkddone:
|
|
|
- RET
|