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

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

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

revision 1.5 by joerg_wunsch, Tue Sep 13 13:29:54 2005 UTC revision 1.6 by aesok, Wed Oct 26 20:50:53 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(strchr)          .global _U(strchr)
58          .type   _U(strchr), @function          .type   _U(strchr), @function
59  _U(strchr):  _U(strchr):
60          LOAD_Z(src_lo, src_hi)          X_movw  ZL, src_lo
61  .strchr_loop:  .L_strchr_loop:
62          ld      __tmp_reg__, Z+          ld      __tmp_reg__, Z+
63          cp      __tmp_reg__, val_lo          cp      __tmp_reg__, val_lo
64          breq    .strchr_found          breq    .L_strchr_found
65          tst     __tmp_reg__          tst     __tmp_reg__
66          brne    .strchr_loop          brne    .L_strchr_loop
67  ; not found, return NULL pointer  ; not found, return NULL pointer
68          clr     ret_lo          clr     ret_lo
69          clr     ret_hi          clr     ret_hi
70          ret          ret
71  .strchr_found:  .L_strchr_found:
72          sbiw    ZL, 1           ; undo post-increment          sbiw    ZL, 1           ; undo post-increment
73          mov     ret_lo, ZL      ; XXX use movw if available          X_movw  ret_lo, ZL
         mov     ret_hi, ZH  
74          ret          ret
75  .strchr_end:  .L_strchr_end:
76          .size   _U(strchr), .strchr_end - _U(strchr)          .size   _U(strchr), .L_strchr_end - _U(strchr)
77    
78  #endif /* not __DOXYGEN__ */  #endif /* not __DOXYGEN__ */

Legend:
Removed from v.1.5  
changed lines
  Added in v.1.6

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