.text .globl strcasecmp strcasecmp: pushl %esi movl 0x8(%esp), %esi movl 0xc(%esp), %edx xorl %eax, %eax xorl %ecx, %ecx cld .Lloop: lodsb movb (%edx), %cl incl %edx or %al, %al jz .Lfinifirst cmp $'A', %al jnge .Lcmp cmp $'z', %al jg .Lcmp or $0x20, %al or $0x20, %cl .Lcmp: subl %ecx, %eax jz .Lloop .Lret: popl %esi ret .Lfinifirst: subl %ecx, %eax jmp .Lret