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

Diff of /avr-libc/libc/string/strcmp.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, Sun Oct 30 19:36: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 s1_hi r25  #define s1_hi r25
# Line 52  Line 54 
54          .global _U(strcmp)          .global _U(strcmp)
55          .type   _U(strcmp), @function          .type   _U(strcmp), @function
56  _U(strcmp):  _U(strcmp):
57          LOAD_Z(s2_lo, s2_hi)          X_movw  ZL, s2_lo
58          LOAD_X(s1_lo, s1_hi)          X_movw  XL, s1_lo
59  .strcmp_loop:  .L_strcmp_loop:
60          ld      ret_lo, X+          ld      ret_lo, X+
61          ld      __tmp_reg__, Z+          ld      __tmp_reg__, Z+
62          sub     ret_lo, __tmp_reg__          sub     ret_lo, __tmp_reg__
63          brne    .strcmp_done          brne    .L_strcmp_done
64          tst     __tmp_reg__          tst     __tmp_reg__
65          brne    .strcmp_loop          brne    .L_strcmp_loop
66  .strcmp_done:  .L_strcmp_done:
67  ; ret_hi = SREG.C ? 0xFF : 0  ; ret_hi = SREG.C ? 0xFF : 0
68          sbc     ret_hi, ret_hi          sbc     ret_hi, ret_hi
69          ret          ret
70  .strcmp_end:  .L_strcmp_end:
71          .size   _U(strcmp), .strcmp_end - _U(strcmp)          .size   _U(strcmp), .L_strcmp_end - _U(strcmp)
72    
73  #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