?? blkcopy.s,v
字號:
head 1.1;access;symbols;locks dls:1.1; strict;comment @# @;1.1date 97.09.21.19.27.40; author dls; state Dist;branches;next ;desc@@1.1log@pre-3e code@text@/* blkcopy.s - blkcopy *//*------------------------------------------------------------------------ * blkcopy - copy "count" bytes from "src" to "dst" * blkcopy(dst, src, count) *------------------------------------------------------------------------ */ .globl _blkcopy/* * NOTE: to handle overlapping buffers in the copy, blkcopy() copies * bytes back-to-front if src < dst, front-to-back otherwise */ .align 2_blkcopy: pushl %esi pushl %edi movl 12(%esp),%edi movl 16(%esp),%esi movl 20(%esp),%ecx cmpl %edi,%esi jle L100 sarl $2,%ecx /* long word count */ cld rep movsl movl 20(%esp),%ecx andl $3,%ecx /* move residual bytes */ rep movsb popl %edi popl %esi retL100: /* backwards blkcopy */ decl %ecx addl %ecx,%esi /* set pointers to end */ addl %ecx,%edi incl %ecx std andl $3,%ecx /* move residual bytes */ rep movsb subl $3,%esi /* convert to long word pointer */ subl $3,%edi /* convert to long word pointer */ movl 20(%esp),%ecx sarl $2,%ecx /* long-word count */ rep movsl popl %edi popl %esi ret@
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -