diff options
Diffstat (limited to 'rtl/i386/strlen.inc')
-rw-r--r-- | rtl/i386/strlen.inc | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/rtl/i386/strlen.inc b/rtl/i386/strlen.inc new file mode 100644 index 0000000000..7c5aaade07 --- /dev/null +++ b/rtl/i386/strlen.inc @@ -0,0 +1,42 @@ +{ + $Id: strlen.inc,v 1.6 2005/02/14 17:13:22 peter Exp $ + This file is part of the Free Pascal run time library. + Copyright (c) 1999-2000 by the Free Pascal development team + + Processor specific implementation of strlen + + See the file COPYING.FPC, included in this distribution, + for details about the copyright. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + + **********************************************************************} + +var + saveedi : longint; +asm + movl %edi,saveedi +{$ifdef REGCALL} + movl %eax,%edi +{$else} + movl p,%edi +{$endif} + movl $0xffffffff,%ecx + xorl %eax,%eax + cld + repne + scasb + movl $0xfffffffe,%eax + subl %ecx,%eax + movl saveedi,%edi +end; + + +{ + $Log: strlen.inc,v $ + Revision 1.6 2005/02/14 17:13:22 peter + * truncate log + +} |