memccpy.s
来自「这是一个同样来自贝尔实验室的和UNIX有着渊源的操作系统, 其简洁的设计和实现易」· S 代码 · 共 54 行
S
54 行
TEXT memccpy(SB),$0 MOVL n+12(FP), CX CMPL CX, $0 JEQ none MOVL p2+4(FP), DI MOVBLZX c+8(FP), AX CLD/* * find the character in the second string */ REPN; SCASB JEQ found/* * if not found, set count to 'n' */none: MOVL $0, AX MOVL n+12(FP), BX JMP memcpy/* * if found, set count to bytes thru character */found: MOVL DI, AX SUBL p2+4(FP), AX MOVL AX, BX ADDL p1+0(FP), AX/* * copy the memory */memcpy: MOVL p1+0(FP), DI MOVL p2+4(FP), SI/* * copy whole longs */ MOVL BX, CX SHRL $2, CX REP; MOVSL/* * copy the rest, by bytes */ ANDL $3, BX MOVL BX, CX REP; MOVSB RET
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?