[解決済み] ESIとEDIレジスタの目的は?
2022-03-15 02:08:02
質問
アセンブラにおけるEDI & ESIレジスタの実際の目的と用途は何ですか?
一応、文字列操作に使われることは知っているのですが。
また、どなたか例を挙げてください。
どのように解決するのですか?
いくつかの操作を行うことができます。 のみ DI/SI(または、1985年にASMを学んでいない場合は、その拡張版)で行うことができます。そのうちのひとつは
REP STOSB
REP MOVSB
REP SCASB
それぞれ、繰り返し(=大量)保存、読み込み、スキャンを行うための操作です。SIやDIを設定して、片方または両方のオペランドを指し、CXにカウントを入れ、そして実行するのです。これらは、一度に大量のバイトを処理する操作で、CPUを自動化するようなものです。ループを明示的にコーディングしていないので、ハンドコーディングのループよりも(通常は)効率的に処理を行うことができます。
念のため。MOVSBは、あるバッファ(まあ、任意のバイトの束)から別のバッファにデータをコピーするのに使われると思います。SCASBは、ある検索基準(等号で検索するだけかどうかはわかりませんが、調べてみてください :) に一致するバイトを探すのに使われます。)
そのREGはほとんどそうですね。
関連
-
[解決済み】JNZとCMPのアセンブリ命令
-
[解決済み] error: invalid effective address エラー:有効なアドレスがありません。
-
[解決済み] ARMアセンブリループ
-
[解決済み] SRLとSRAの違いは何ですか?[重複しています]。
-
[解決済み] アセンブリMIPS .ALIGNとメモリアドレスの理解
-
[解決済み] cmp命令の理解
-
[解決済み] CS:IPの組み立ての意味と仕組みについて教えてください。
-
[解決済み] 1サイクルあたり4FLOPの理論上の最大値を達成するにはどうすればよいですか?
-
[解決済み] Intel CPU の _mm_popcnt_u64 で、32 ビットのループカウンターを 64 ビットに置き換えると、パフォーマンスが著しく低下します。
-
[解決済み】マルチコアアセンブラとはどのようなものですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン