clobber列表的作用是什么?

时间:2016-06-07 22:36:57

标签: gcc inline-assembly

我是内联装配的新手,而且我无法将我的思绪包裹在“破坏者列表”中。是否有人能够提供一个简单的解释,说明何时以及为什么将寄存器添加到clobber列表很重要?具体来说,在这个例子中......

volatile int a = 0;    
asm (
      "ldi r26, 42  \n" 
      "sts (a), r26 \n" 
      : : : "r26"
    );

...是保护以前存储在r26中的意外删除的clbber列表,还是保护刚写入r26的数据不被编译器忽略?也许两者都是?

另外,断言“纯汇编”编程中不需要clobber列表是正确的吗?

0 个答案:

没有答案