.globl strlen
strlen:
        pushl   %edi
        movl    8(%esp),%edi            /* string address */
        cld                             /* set search forward */
        xorl    %eax,%eax               /* set search for null terminator */
        movl    $-1,%ecx                /* set search for lots of characters */
        repne                           /* search! */
        scasb
        notl    %ecx                    /* get length by taking complement */
        leal    -1(%ecx),%eax           /* and subtracting one */
        popl    %edi
        ret
