顺便内联汇编写了个strcpy,做个例子并测试了下速度。。
char* strcpy( char* des, const char* src, unsigned __int32 count )
{
if ( des == NULL )
{
return 0;
}
if ( src == NULL )
{
des[ 0 ] = 0;
return des;
}
__asm
{
mov edi, des
mov esi, src
mov ecx, count
dec ecx
__loop:
cmp byte ptr [esi], 0
jz __break
movsb
loop __loop
__break:
mov byte ptr [edi], 0
mov eax, des
}
}
int main()
{
BYTE byType = 2;
char des[ 10 ] = { 0 };
char* src = "masefee";
LARGE_INTEGER iTemp;
LONGLONG llTime1, llTime2;
double dTime;
QueryPerformanceFrequency( &iTemp );
QueryPerformanceCounter( &iTemp );
llTime1 = iTemp.QuadPart;
strcpy( des, src, 8 );
QueryPerformanceCounter( &iTemp );
llTime2 = iTemp.QuadPart;
dTime = ( double )( llTime2 - llTime1 );
printf( "%f/n", dTime );
return 0;
}
输出速度:1210.000000
分享到:
相关推荐
64位Windows不支持内嵌汇编,在VC2008下将32位C++内嵌汇编迁移到64位,解决64位系统不支持内嵌汇编。
C++内嵌汇编x86实现加法,汇编原理实验实现
c++转汇编的小测试,c++转汇编的小测试c++。c++转汇编的小测试
NULL 博文链接:https://chuanwang66.iteye.com/blog/1433218
在C++中内嵌汇编代码分析 用JAVA或者Python的人常常会告诉你,现在的硬件已经太快了,以至于你可以完全不再考虑性能,快速的开发才是最最重要的。这是个速食者的年代,什么都是,甚至是编程。 C/C++程序员常常会发现...
工程主要时C++内联汇编的示例,内部简单的用汇编实现了函数传参及调用,循环以及if语句的实现
c++反汇编 c++反汇编的好教程c++反汇编 c++反汇编的好教程c++反汇编 c++反汇编的好教程
这是我自己学习汇编vs下优化时写的一个简单示例,仅供初学者参考,在编译工程时遇到问题,请下看一下Readme1.txt。
c++反汇编中文教程,国外大牛非常经典之作,教你如何用IDA逆向C++。
C+++汇编+混合编程
vs2010调用汇编dll的方法,内含示例工程文档
C++汇编语言编写程序代码 C++汇编语言编写程序代码
讨论AT&T 的汇编语法,以及GCC 的内嵌汇编语法。
C++ 嵌汇编获取CPU序列号 C++ 嵌汇编获取CPU序列号
在Visual_C++中使用内联汇编 本文档主要详细介绍如何在c/c++代码内涵汇编代码,推荐给学习c/c++的同学们下载
C++的汇编表现形式C++的汇编表现形式C++的汇编表现形式
从汇编角度研究 C++,能看到最彻底最本质的东西,学习效果也最好,也更容易看清C++面向对象的底层实质。因此,从今天起,我会写一个专题系列 《从汇编看 C++》 发布到我的博客里,欢迎收看 目前,我总共写了4篇,...
图解所有UML对象关系 c++反汇编 天数夜读反汇编 图解所有UML对象关系 c++反汇编 天数夜读反汇编 图解所有UML对象关系 c++反汇编 天数夜读反汇编 图解所有UML对象关系 c++反汇编 天数夜读反汇编
汇编和C++教程 ·数据传送类指令; ·算术运算类指令; ·逻辑运算类指令 ·控制程序转移类指令; ·位(布尔)处理类指令. 用机器码表示的指令格式以8位2进制数(字节)为基础。111条指令中单字节...
这文档是c/c++ 与ARM汇编的相互调用的规则