/[avr-libc]/avr-libc/libc/string/memccpy.S
ViewVC logotype

Diff of /avr-libc/libc/string/memccpy.S

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.4 by troth, Tue Sep 30 23:05:18 2003 UTC revision 1.4.4.1 by aesok, Thu Oct 20 21:05:26 2005 UTC
# Line 26  Line 26 
26    ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE    ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
27    POSSIBILITY OF SUCH DAMAGE. */    POSSIBILITY OF SUCH DAMAGE. */
28    
29    /* $Id$ */
30    
31  #include "macros.inc"  #include "macros.inc"
32    
33  #define dest_hi r25  #define dest_hi r25
# Line 57  Line 59 
59          .global _U(memccpy)          .global _U(memccpy)
60          .type   _U(memccpy), @function          .type   _U(memccpy), @function
61  _U(memccpy):  _U(memccpy):
62          LOAD_Z(src_lo, src_hi)          X_movw  ZL, src_lo
63          LOAD_X(dest_lo, dest_hi)          X_movw  XL, dest_lo
64  .memccpy_loop:  .Lmemccpy_loop:
65          subi    len_lo, lo8(1)          subi    len_lo, lo8(1)
66          sbci    len_hi, hi8(1)          sbci    len_hi, hi8(1)
67          brcs    .memccpy_notfound          brcs    .Lmemccpy_notfound
68          ld      __tmp_reg__, Z+          ld      __tmp_reg__, Z+
69          st      X+, __tmp_reg__          st      X+, __tmp_reg__
70          cp      __tmp_reg__, val_lo          cp      __tmp_reg__, val_lo
71          brne    .memccpy_loop          brne    .Lmemccpy_loop
72          mov     ret_lo, XL      ; XXX use movw if available          X_movw  ret_lo, XL
         mov     ret_hi, XH  
73          ret          ret
74  .memccpy_notfound:  .Lmemccpy_notfound:
75          clr     ret_lo          clr     ret_lo
76          clr     ret_hi          clr     ret_hi
77          ret          ret
78  .memccpy_end:  .Lmemccpy_end:
79          .size   _U(memccpy), .memccpy_end - _U(memccpy)          .size   _U(memccpy), .Lmemccpy_end - _U(memccpy)
80    
81  #endif /* not DOXYGEN */  #endif /* not DOXYGEN */

Legend:
Removed from v.1.4  
changed lines
  Added in v.1.4.4.1

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26