memcpy.s
来自「这是一个同样来自贝尔实验室的和UNIX有着渊源的操作系统, 其简洁的设计和实现易」· S 代码 · 共 58 行
S
58 行
TEXT memcpy(SB), $0 MOVL p1+0(FP), DI MOVL p2+4(FP), SI MOVL n+8(FP), BX CMPL BX, $0 JGE ok MOVL $0, SIok: CLD/* * check and set for backwards */ CMPL SI, DI JLS back/* * copy whole longs */ MOVL BX, CX SHRL $2, CX REP; MOVSL/* * copy the rest, by bytes */ ANDL $3, BX MOVL BX, CX REP; MOVSB MOVL p+0(FP),AX RET/* * whole thing backwards has * adjusted addresses */back: ADDL BX, DI ADDL BX, SI SUBL $4, DI SUBL $4, SI STD/* * copy whole longs */ MOVL BX, CX SHRL $2, CX ANDL $3, BX REP; MOVSL/* * copy the rest, by bytes */ ADDL $3, DI ADDL $3, SI MOVL BX, CX REP; MOVSB MOVL p+0(FP),AX RET
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?