汇编实现: C库常见函数

             汇编实现: C库常见函数

一丶汇编实现Strncpy拷贝函数

void __asmStrncpy(char *des,char *src,int len)
{
    __asm {
        mov edi,[ebp + 8];                //获取局部变量地址 des
        mov esi,[ebp + 0xc];            //获取局部变量地址 src
        mov ecx,len;                    //使用movs指令,需要给ecx长度
        cld                                //设置DF = 0; 内存方向, 此时edi++ esi ++获取方式
        rep movs byte ptr [edi],byte ptr[esi];//根据ecx的值,循环从esi里面获取字节输几局给edi
        ;rep movsb                        //直接省略了.默认操作 eis 跟 edi.以字节方式
        ;rep movsw                        //以word两个字节为单位拷贝 等价于 rep movs byte ptr[edi],byte ptr[esi]
        ;rep movsd                        //四个字节为单位.

    }
}

猜你喜欢

转载自www.cnblogs.com/iBinary/p/9829845.html