実行時にユーザーの入力を受け取り、nとラベル付けされたソースコード定義の命令セットをn回実行することは可能ですか?カウンターをインクリメントするのではなく、変数を作成し、各反復後にユーザー入力と比較しますか?言い換えれば、CPUが自身を更新するカウンターを起動せず、各反復後にnに対してチェックされていなくても、CPUに「これをn回行う」と言うことができますか?比較しないでユーザー入力回数を繰り返しますか?
0
A
答えて
0
種類。実行する命令のリストを取得し、n回(絶対ジャンプを確実に修正して)、function prologue and epilogueを追加し、結果をarea of memory that is allowed to execute codeに保存し、その領域の開始を関数として呼び出すことができます。
このようなコード生成を行うことは、Cなどの言語で正しく行うのは難しいことに注意してください。あなたはもっと低くして、コード(または少なくともその一部)をアセンブリに書くか、 C#のような言語を使用すると、コード表現を操作してマシンコードにコンパイルすることができます。
また、パフォーマンスが大幅に向上する可能性はほとんどありません。実際には、コードがCPUの命令キャッシュに収まらなくなる可能性があるため、パフォーマンスが低下する可能性があります。
コンパイラによっては、この最適化が自動的に部分的に実行されることがあります。これはloop unrollingと呼ばれます。
関連する問題
- 1. readline()ユーザー入力x回数を繰り返してインクリメントする
- 2. ユーザー入力から繰り返しプロセスまでのJavaループ?
- 3. ユーザー入力とリストを繰り返す
- 4. 前回入力時の処理を繰り返します。
- 5. 繰り返し入力
- 6. 繰り返し入力オーディオ
- 7. 有効なユーザー入力をリストと比較してエラーメッセージを返す
- 8. フォームフィールドを繰り返すユーザーが定義した回数
- 9. ユーザー入力をゲッターと比較する
- 10. 配列内でN回の回数を繰り返します。
- 11. 3回繰り返すことなく3つの値と比較する
- 12. PHP - ジェネリックな繰り返し可能性を2回繰り返します。
- 13. Pythonで列を繰り返して特定の列と比較します
- 14. 2つのXMLDocumentツリーを繰り返しノードと比較する
- 15. sqlのascii値と比較する行を繰り返しますか?
- 16. Pythonはユーザー入力をプログラム内の変数と比較できますか?
- 17. 入力構造に基づいてノードを複数回繰り返す
- 18. 数値を0.01回繰り返すと、数回繰り返した後に.0000000000000001が加算されます。
- 19. ArrayListとユーザー入力の比較
- 20. Python - ユーザー入力とクラスオブジェクトインスタンスの比較
- 21. Regex - 2つの異なる文字を2回繰り返した後、6回繰り返した数字を
- 22. 繰り返し回数とwhere句
- 23. は、n繰り返し回数
- 24. スウィフトアニメーションの繰り返し回数
- 25. CAAnimation -1繰り返し回数?
- 26. ループを29000,000回繰り返します。より速いです。
- 27. 関数は1回だけではなく、サイクルを繰り返す(繰り返します)
- 28. 繰り返された回数に応じて入力テキストから単語をソートしますか?
- 29. 数回実行した後、繰り返し入力入力の出力をゼロにするループ。何が間違っていますか?
- 30. Apex:2回繰り返します。
CPUの命令レベル(ハードウェアは問わない)またはプログラミング言語(高レベル)に関するご質問はありますか? – kostix
あなたが後者を意味するならば、十分に高水準の言語がいくつかのループ構造の背後に数えられるという事実を隠すだけなので、答え自体はあいまいかもしれません。例えば、これは単純なbourneシェルで行うことができます: 'read n; \ 'seq 1 $ n \'のiのために; echo $ iを実行します。あなたが見ることができるように、カウンターはなく、ただループしていますが、入力したとおりに正確に 'n回 '繰り返すことができます。 – kostix
既存のH/Wアーチが暗黙のうちにコードの一部を反復するいくつかのCPUコマンドを持っているかどうかを知りたければ、その質問はより面白くなります。私の頭の上から、私はx86の 'LOOPNE' /' LOOPNZ'を思い出しますが、最初は反復回数を含む専用レジスタの値を減らしています。それがあなたと一緒なら大丈夫だ - 暗黙のうちに行われている減価償却の性質が成就すれば、それは答えです;-)そうでなければ質問を絞り込んでください。 – kostix