有没有一种方法可以比较并跳转到一条指令:
C 代码:
1. while(i<10)
2.{i++}
汇编代码:(eax=0)(ecx=10)
.while:
cmp eax, ecx
jge .endofwhile
add eax, 1
jmp .while
.endofwhile:
有没有办法我可以在一条指令中执行第 2 行和第 3 行?
有没有办法我可以在一条指令中执行第 2 行和第 3 行?
如果允许您将 C 代码更改为倒数:
1. i = 10;
2. while(--i >= 0);
然后您可以使用(单个)LOOP 操作码。
LOOP 虽然是一条旧指令,因此它可能在较新的(Pentium++)CPU 上被弃用:“弃用”的意思是“仍然受支持,但比使用更原始的操作码(如 Pascal 的答案中给出的操作码)要慢。”