前言
导入很久很久以前写的一篇技术!缅怀下以前写 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
}
}
网友评论