MMX指令集在C++中的使用
2010-01-23 20:32:30 来源:WEB开发网核心提示:上次在《关于内联汇编的几个技巧》一文中只是简单地介绍了如何在C++中使用内联汇编,这一次先对上一次的文章作一补充,MMX指令集在C++中的使用,然后介绍如何使用MMX指令,一、内联汇编的一般原则:1、自由使用通用寄存器;(EAX,EBX,ECX和EDX)2、其它寄存器利用堆栈保留,使用,最后恢复;一般的像下面这样:__
上次在《关于内联汇编的几个技巧》一文中只是简单地介绍了如何在C++中使用内联汇编,这一次先对上一次的文章作一补充,然后介绍如何使用MMX指令。
一、内联汇编的一般原则:
1、自由使用通用寄存器;(EAX,EBX,ECX和EDX)
2、其它寄存器利用堆栈保留,使用,最后恢复;
一般的像下面这样:__asm{
push ebp
push esp
……….//使用EBP和ESP
pop esp
pop ebp
}
二、内联汇编__asm可以单独使用:
例如:__asm mov eax,anyval1
__asm mov ebx,anyval2
三、函数返回值可以直接放到eax中,可以不理会警告
例如:int anyfun(……/*anyparm*/)
{
int irtn; //函数返回值
…… //函数语句
__asm mov eax,irtn //代替return irtn;但编译器会发出警告,可以不理它
}
四、内联汇编不区分大小写,语法同普通汇编
例如:__asm{
注意:C++的变量还是区分大小写的
mov eax,ebx
MOV EAX,EBX //同上一句
}
更多精彩
赞助商链接