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

    }

}

阅读更多
文章标签: 汇编 c++ null
个人分类: C/C++
上一篇转:GCC笔记(警告.优化以及调试选项)
下一篇C++ 字符串比较 汇编代码实现
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭