C++ 字符串拷贝 汇编代码实现

2019-06-23  本文已影响0人  成都老刘

前言

导入很久很久以前写的一篇技术!缅怀下以前写 C++ 的日子

正文

void asmCpy(char* str1, char* str2)
{
    _asm{
        mov eax, str1   //将str1的地址赋值给eax
        mov ecx, str2   //将str2的地址赋值给ecx
s1:
        mov bl, [eax]   //去eax地址所指向的值,赋值给bl
        cmp [eax], 0    //比较当前这个字符是不是NULL
        je end1     //如果是NULL,就是字符串结束了,跳转到end1
            //如果不是,则继续下面的代码
        mov [ecx], bl   //将bl里面的值赋值给ecx所指向的内存
        add eax, 1  // eax的地址值增加1
        add ecx, 1  // ecx的地址值增加1
        jmp s1      // 跳到前面的循环
end1:
        mov [ecx], 0    //给最后一个字符设置成NULL
    }
}
上一篇下一篇

猜你喜欢

热点阅读