2016-12-13 7 views
2

EDIとESIの役割を切り替えることはできますか?EDIとESIレジスタの切り替え役割

たとえば、EDIには配列へのポインタが含まれており、配列内のすべての値/文字のみを出力できますか?

+0

通常、残りのコードを変更するよりもレジスタ内の値を切り替える方が簡単です。あなたが 'esi' /' edi'をもう一つ必要とするような状況になったら、 'xchg esi、edi'はそれを解決します。厳密には速い命令ではないので、通常はコードのレジスタ使用を計画して回避し、残りのコードを追加の 'xchg/mov'命令なしで書いて、中間結果をレジスタに直接保持します。 ..可能な場合...そうでない場合は、 'xchg'または追加の' mov'を使用してください。 – Ped7g

答えて

4

MOVSBなどの文字列命令で(R | E)SIと(R | E)DIの役割を切り替えることはできません。ソースレジスタとデスティネーションレジスタは、命令自体によって暗示され、本質的にハードコードされる。

他の場所では、コードを適切に調整して、別のレジスタではなく1つのレジスタを使用できます。

関連する問題