__asm{ push ebp push esp ……….//使用EBP和ESP pop esp pop ebp } |
__asm mov eax,anyval1 __asm mov ebx,anyval2 |
int anyfun(……/*anyparm*/) { int irtn; //函数返回值 …… //函数语句 __asm mov eax,irtn //代替return irtn;但编译器会发出警告,可以不理它 } |
__asm{ mov eax,ebx MOV EAX,EBX //同上一句 } |
注意:C++的变量还是区分大小写的
五、 内联汇编尽量使用__asm或_asm关键字,而不用标准C++的asm关键字(这个是微软说的)
以上只是一些关于内联汇编的补充,我将出一系列围绕内联汇编的文章,下面接着上一次的话题详细一点地讲一下MMX指令的调用
1、 MMX指令集简介:
[数据传输指令]
movq //传输64位整数
movd //传输32位整数
[数据打包转换指令]
PACKSSWB //Pack words into bytes with signed saturation.