【发布时间】:2011-10-11 22:50:37
【问题描述】:
我目前正在学习 x86 汇编语言,想知道实现循环的更好方法是什么。一种方法是将一个值移动到 ecx 寄存器并使用循环指令,另一种方法是使用 jmp 指令,然后进入循环体,然后有条件地跳转到循环体的开头。我猜第一个的可读性会更好,但除此之外我不知道为什么要使用它。
【问题讨论】:
-
从不知道/不知道何时接受它,因为我猜总有更好的答案?这真的很重要吗?因为我真的不知道。
-
相关:Why are loops always compiled like this?:在 asm 中使用
do{}while()结构几乎总是最好的,在底部有一个条件分支。如果循环可能需要运行 0 次,那么 jmp to the bottom 是一种策略,但通常不是最好的。