我有一个关于优化我从 .cpp 文件中获得的程序集文件的问题!!这是我在计算机组织课上的硬件。硬件如下。我必须编写一个程序来计算两个向量的点积并生成 .asm 文件。然后,我必须优化 .asm 文件并使用 Visual Studio 上的 QueryPerformanceCounter 比较执行时间。我生成了 .asm 文件并在其中找到了循环部分。我正在尝试学习基本的汇编语言来优化汇编。但是,我不知道如何执行 .asm 文件。我的教授提到了 .cpp 文件和程序集之间的链接,但不知道这是什么意思。任何帮助都会得到帮助。
问问题
82 次
1 回答
0
如果我理解您的教授的要求,您需要分步执行此操作:
在 C++ 中创建一个函数来计算点积。
在
main()
中,循环调用此函数数千次,例如 5000 次。QueryPerformanceCounter
在此循环之前和之后添加一个调用。运行您的程序并记下调用您的函数 5000 次所花费的总时间。
使用编译器为您的函数生成程序集。将该程序集保存到 .asm 文件中,然后对其进行优化。
使用适当的汇编程序汇编 .asm 文件以生成 .obj 文件。
编译您的 .cpp 文件并将其与您在上述步骤中生成的 .obj 文件链接以生成一个 .exe 文件。
再次运行程序并记下调用优化函数 5000 次所花费的总时间。
比较这两个测量值(并注意编译器在优化方面可能比您更好)。
你没有说你正在使用什么编译器、汇编器或硬件平台,所以我不能提供更多的细节。
于 2013-10-09T18:08:07.677 回答