编写循环的最佳方法是哪种?

Ami*_*mar 1 c embedded loops

我想知道哪个是编写循环的最佳方法?

Count Down_to_Zero循环优于Count_Up_Loops吗?特别是在嵌入式系统环境中哪一个更好选择???

uɐɪ*_*uɐɪ 9

在嵌入式世界中,最好使用一种方案而不是另一种方案,这取决于您使用的处理器.例如,PIC处理器具有"递减并且如果不为零则跳转"的指令.这对于在单个指令中执行倒计数"for"循环非常有用.

其他处理器具有不同的指令集,因此适用不同的规

您可能还必须考虑编译器优化的影响,这可能会将计数转换为可能更有效的倒计时版本.

与往常一样,如果您不得不担心这些事情,那么您使用的是错误的处理器和工具.使用比汇编程序更高级语言编写的想法是向维护工程师解释软件的工作原理.如果使用倒计时循环是违反直觉的,那么不管处理器效率的(次要)损失如何.

  • 如果你看一下编译器生成的代码,我已经看到为计数循环生成的递减循环计数器正是出于这个原因.正如我在回答中所说,如果您不得不对代码进行微优化,然后再猜测您的编译器,那么您使用的是错误的处理器和工具.如果循环中的一个或两个额外指令很关键,那么你就会遇到真正的问题 (2认同)