优化.cpp文件的程序集

时间:2013-10-09 16:18:35

标签: windows assembly x86

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

1 个答案:

答案 0 :(得分:0)

如果我理解教授的要求,你需要分步完成:

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

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

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

  4. 运行您的程序并记下将您的功能调用5000次所需的总时间。

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

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

  7. 编译.cpp文件并将其链接到您在上面的步骤中生成的.obj文件,以生成.exe文件。

  8. 再次运行程序并记下调用优化功能5000次所需的总时间。

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

  10. 您不会说出您正在使用的编译器,汇编程序或硬件平台,因此我无法提供更多详细信息。