0

我有一个关于优化我从 .cpp 文件中获得的程序集文件的问题!!这是我在计算机组织课上的硬件。硬件如下。我必须编写一个程序来计算两个向量的点积并生成 .asm 文件。然后,我必须优化 .asm 文件并使用 Visual Studio 上的 QueryPerformanceCounter 比较执行时间。我生成了 .asm 文件并在其中找到了循环部分。我正在尝试学习基本的汇编语言来优化汇编。但是,我不知道如何执行 .asm 文件。我的教授提到了 .cpp 文件和程序集之间的链接,但不知道这是什么意思。任何帮助都会得到帮助。

4

1 回答 1

0

如果我理解您的教授的要求,您需要分步执行此操作:

  1. 在 C++ 中创建一个函数来计算点积。

  2. main()中,循环调用此函数数千次,例如 5000 次。

  3. QueryPerformanceCounter在此循环之前和之后添加一个调用。

  4. 运行您的程序并记下调用您的函数 5000 次所花费的总时间。

  5. 使用编译器为您的函数生成程序集。将该程序集保存到 .asm 文件中,然后对其进行优化。

  6. 使用适当的汇编程序汇编 .asm 文件以生成 .obj 文件。

  7. 编译您的 .cpp 文件并将其与您在上述步骤中生成的 .obj 文件链接以生成一个 .exe 文件。

  8. 再次运行程序并记下调用优化函数 5000 次所花费的总时间。

  9. 比较这两个测量值(并注意编译器在优化方面可能比您更好)。

你没有说你正在使用什么编译器、汇编器或硬件平台,所以我不能提供更多的细节。

于 2013-10-09T18:08:07.677 回答