Hi,
also damit ihr es versteht erstmal die code-brocken.
arguments:
    pop        ebx
    ...
    mov    ecx,ebx            ; second argument of sys_write ( buf )
    lea        esi, [ecx]
    jmp     stringl
        ...
        ret
stringl:
    xor      eax, eax            ; eax auf null setzen
    .Loop:        
    cmp    byte [esi], 0            ; mit null vergleichen
    jz    .End                    ; wenn null dann Ende
    inc    esi                     ; ungleich null dann buchstaben weiter
    inc    eax                     ; und count fuer stringlaenge erhoehen
    jmp .Loop
        
    .End:
    inc        eax
        ret                                       ; ## Hier ist wahrscheinlich das Problem. Es sollte aus stringl  herausspringen aber es springt so wie ich mir das ueberlegt habe zu Loop zurueck. 
Wie kann ich nun bewerkstelligen das er vollkommen aus stringl springt? 
\\Robert