对于下面的代码,如果我想将for循环转换为联机汇编,它将如何完成? (原谅怪异代码,我只是做它。)联机汇编
1)这是为x86,使用视觉工作室
2)这是一个“如何在线路组件使用”的问题,而不是一个“如何优化此代码”问题
3)其他任何示例都可以。我会考虑一些更好的示例代码。
好,我希望这是一个更好的例子:
int doSomething(double a, double b, double c)
{
double d;
for(int i=100;i<200;i++)
{
d = a*a + b*b + c*c;
if(d>i)
return (i-99);
}
return -1;
}
你有这样做的好理由吗?一个体面的编译器可能会比noob汇编程序员有更好的工作。你想要什么样的CPU? – 2010-05-11 15:48:19
另请注意,你的代码在循环中有一个冗余表达式 - 第二行是无意义的,因为b立即被c替换。在尝试优化代码之前,您可能需要修复代码。 – 2010-05-11 15:49:45
另一件事 - 循环本身是多余的,因为它内部的所有表达式都是循环不变的。你没有真的想过这件事,是吗? – 2010-05-11 15:51:22