分析汇编代码中的优化

时间:2014-10-11 19:41:42

标签: c assembly

我试图了解如何对以下C代码执行程序集优化:

void rgbtocmyk(int r, int g, int b, int ret[]) {
  int c = 255 - r;
  int m = 255 - g;
  int y = 255 - b;
  int k = (c < m) ? (c < y ? c : y) : (m < y ? m : y);
  c -= k;  m -= k; y -= k;  
  ret[0] = c; ret[1] = m; ret[2] = y; ret[3] = k;

这将生成以下汇编代码(仅限于文本部分),左栏没有优化,右侧优化级别-O1

enter image description here enter image description here

我正在寻找有关如何浏览这些模糊代码的一些指导。我对集会很新,而且我一直在试图理解这些差异。显然,-O1优化的代码更紧凑,大部分紧凑性都是movl语句较少的结果。

注意:这是作业。教师要求我在比较两个版本时尽可能准确。

0 个答案:

没有答案