参数传递给子程序x64内联汇编(Vc ++ 2015 with Intel c ++ compiler 2017)

时间:2017-04-05 09:56:55

标签: inline-assembly

我编码了

main()  
{
  unsigned char *memory; 
  unsigned int a=15;  
  float sigma=5.0f;  


  gaussian_filter();

}

gaussian_filter()  
{  
    unsigned __int64 evacuate_rbp;      
    unsigned __int64 evacuate_rsp;  

 __asm
 {
         mov eax, a
         ...         
         mov evacuate_rbp, rbp
         mov evacuate_rsp, rsp
         ...

         mov rsp, memory
         ...

         movss xmm0, sigma

         ....    

         mov rbp, evacuate_rbp
         mov rsp, evacuate_rsp 
      }       
}

我希望非参数传递使用rbp和rsp寄存器作为内存的地址索引。 在使用英特尔C ++编译器构建时,出现错误。为什么?。

0 个答案:

没有答案