标签: c++ avr inline-assembly avr-gcc
我正在尝试在ATmega328P的内联汇编中编写一些代码 我发现我的输出变量没有按照我预期的方式改变。所以我将原始代码缩减为:
uint8_t a=0; __asm__ ( "nop " "\n\t" :"=&r" (a) : );
我希望 a 的值保持不变,但根据我的程序中的位置,我将此代码值 a 有时会更改为其他内容。 我不明白为什么会这样。如果有人会向我解释我错过了什么,那将会很高兴。