エンディアンは、ワード内のバイトの順序を決定します。
次のメモリシステムを考えてみましょう。
したがって、これはバイトアドレス可能な32ビットメモリです。16進値'val = 0x56789A'
をワードアドレス0のメモリ位置に移動すると、ビッグエンディアンの場合は次のようになります。リトルエンディアンの場合は次のようになります
。
ただし、レジスタには値が '56789A' itlefとして格納されていることがわかっているため、ビッグエンディアンタイプのバイト順序を使用している場合は、値を正しい順序でロードできるため、問題ありません。
しかし、順序を逆にする必要があるリトルエンディアンの場合はどうでしょうか。リトルエンディアンでは、「9A7856」としてロードされますが、これは誤りです。
次に、このようにメモリに保存しますか?(つまり)リトルエンディアンタイプの順序付けのために別の組織を持っていますか?例:
これで、ワードアドレス位置「0」の値をレジスタにロードして、さらに操作することができます。これは可能な解決策でした。
しかし、今では、エンディアンはプロセッサではなくメモリセルの配置に依存することを意味します......これはどのように正確に機能しますか?
それとも、エンディアンはメモリアーキテクチャの影響をまったく受けず、プロセッサだけの影響を受けるのでしょうか。では、最後に、エンディアンはプロセッサまたはメモリに依存しますか?