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

Diff of /avr-libc/libc/string/memchr.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 src_hi r25  #define src_hi r25
# Line 55  Line 57 
57          .global _U(memchr)          .global _U(memchr)
58          .type   _U(memchr), @function          .type   _U(memchr), @function
59  _U(memchr):  _U(memchr):
60          LOAD_Z(src_lo, src_hi)          X_movw  ZL, src_lo
61  .memchr_loop:  .Lmemchr_loop:
62          subi    len_lo, lo8(1)          subi    len_lo, lo8(1)
63          sbci    len_hi, hi8(1)          sbci    len_hi, hi8(1)
64          brcs    .memchr_notfound          brcs    .Lmemchr_notfound
65          ld      __tmp_reg__, Z+          ld      __tmp_reg__, Z+
66          cp      __tmp_reg__, val_lo          cp      __tmp_reg__, val_lo
67          brne    .memchr_loop          brne    .Lmemchr_loop
68          sbiw    ZL, 1           ; undo post-increment          sbiw    ZL, 1           ; undo post-increment
69          mov     ret_lo, ZL      ; XXX use movw if available          X_movw  ret_lo, ZL
         mov     ret_hi, ZH  
70          ret          ret
71  .memchr_notfound:  .Lmemchr_notfound:
72          clr     ret_lo          clr     ret_lo
73          clr     ret_hi          clr     ret_hi
74          ret          ret
75  .memchr_end:  .Lmemchr_end:
76          .size   _U(memchr), .memchr_end - _U(memchr)          .size   _U(memchr), .Lmemchr_end - _U(memchr)
77    
78  #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