開発 不揮発性レジスタとは何ですか? -techopediaからの定義

不揮発性レジスタとは何ですか? -techopediaからの定義

目次:

Anonim

定義-不揮発性レジスタとはどういう意味ですか?

不揮発性レジスターは、サブルーチン呼び出しで保持する必要がある内容を含むレジスターの一種です。 不揮発性レジスタの値がルーチンによって変更されるたびに、レジスタを変更する前に古い値をスタックに保存する必要があり、戻る前にその値を復元する必要があります。 レジスタは、固定数のレジスタがあることを除いて、変数に似ています。 すべてのレジスタは、単一の値が保存されるCPU内の一意の場所です。 レジスタは、加算、乗算、減算などの数学関数を実行できる唯一の場所です。 レジスタは、多くの場合、メモリを参照するポインターを保持します。 メモリとレジスタ間で値を移動することはよくある現象です。

Techopediaは不揮発性レジスタについて説明しています

以下は、不揮発性レジスタのいくつかの例です。

  • ebx :一般的な目的に使用される不揮発性レジスタ。 通常は、計算を高速化するためにすべての関数を通じて共通の値に設定されます。


  • esi :一般的な目的に使用される不揮発性レジスタ。 特に、データの送信元と宛先を必要とする「rep-」クラス命令の場合、ポインタとして使用されます。 ここで、esiはソースを指します。 通常、esiは変更されにくいため、関数全体で使用されるデータを保持します。


  • edi :一般的な目的に使用される別の不揮発性レジスタ。 これは一般的にポインターとして使用されます。 EDIは通常ESI​​と同じですが、通常は宛先を指します。


  • ebp :汎用レジスタとして使用される別の不揮発性レジスタ。 コンパイル設定に基づいて、2つの特徴的な用途があります。 汎用レジスタまたはフレームポインターのいずれかです。 コンパイルが最適化されていない場合、またはコードが手書きである場合、ebpは関数の開始時にスタックの場所を監視します。 スタックはすべて関数を通じて変更されるため、ebpが元の値に設定されると、スタックに保存された変数を簡単に参照できます。 コンパイルが最適化されている場合、ebpはあらゆる種類のデータを格納する汎用レジスターとして使用され、スタックポインターの計算はその動きに応じて実行されます。
不揮発性レジスタとは何ですか? -techopediaからの定義