What's wrong in this small code?
<p>There is no any error in this code but when I run it, it doesn't give any result?</p>

<p>Please help me?</p>

<pre><code>#include &lt;iostream.h&gt;
int x;
int count;
char a[50];
char b[50];
int strlenn(char *str);
void strcpyy(char *str1,char *str2);

void main(){
    int count1,count2;
    cin&gt;&gt;a;
    cin&gt;&gt;b;
    while(true){
        cin&gt;&gt;x;
        if(x=1){
            count1=strlenn(a);
            count2=strlenn(b);
            cout&lt;&lt;count1&lt;&lt;"\n"&lt;&lt;count2&lt;&lt;"\n";
        }
        if(x=2){
            strcpyy(a,b);
            cout&lt;&lt;a&lt;&lt;"\n";
        }
    }
}

int strlenn(char *str){
    _asm{
        push esi;
        mov esi,0;
        lp: cmp a[esi],0
        je done
        inc esi
        jmp lp  
        done:  pop esi
    }
    return(count);
}


void strcpyy(char *str1,char *str2){
    _asm{
        push esi
        push edi
        mov ax,0
        next:cmp a[esi],0
        je doo
        cmp b[edi],0
        je doo
        movzx ax,edi
        movzx esi,ax
        inc edi
        inc esi
        jmp next
        doo:pop edi
        pop esi
    }
    return;
}
</code></pre>
