1つの命令で比較してジャンプできる方法はありますか?
Cコード:
1。2 while(i<10)
。{i++}
アセンブリコード:(eax=0)(ecx=10)
.while:
cmp eax, ecx
jge .endofwhile
add eax, 1
jmp .while
.endofwhile:
1つの命令で2行目と3行目を実行する方法はありますか?
2 行目と 3 行目を 1 つの命令で実行する方法はありますか?
逆方向にカウントするように C コードを変更できる場合:
1. i = 10;
2. while(--i >= 0);
次に、(単一の) LOOP opcodeを使用できます。
ただし、LOOP は古い命令であるため、新しい (Pentium++) CPU では非推奨になる可能性があります。「非推奨」とは、「まだサポートされていますが、Pascal の回答に示されているようなより原始的なオペコードを使用するよりも遅い」という意味です。