一个mips内联汇编的问题
我最近在做一个视频解码器,跑在mips上。代码中有一个求绝对值的函数,调用很频繁,我就把他改写成了内敛汇编以提高解码器性能。可是将改后的汇编函数放到程序里发现解出来的图像和修改之前的不一样。先把汇编函数贴出来:
int
abs(int iNum)
{
asm volatile (
"nor $2,$0,%1\n\t"
"addiu $2,$2,1\n\t"
"slti $3,%1,0\n\t"
"movz %0,$2,$3\n\t"
:"=r"(iNum)
:"0"(iNum)
:"$2","$3");
return iNum;
}
我觉得这个函数没错!!难道这段代码会对c代码有影响吗?另外,我想知道,在调用这个函数之前对它的参数进行强制类型转换后会不会影响这段代码
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论