ビッグエンドとアセンブラの小端部

ビッグエンディアン(ビッグエンディアン)

  • ストレージはルール:高い低いデータメモリは上位下位データのメモリ内に、あります。
  • 共通のソフトウェア:(電話)RAMメモリ上のアプリケーションより多くのビッグエンディアンモードを使用します

リトルエンディアン(リトルエンディアン)

  • ストレージはルール:低低データメモリは上位データのメモリ内に、あります。
  • 共通のソフトウェア:リトルエンディアンモードのアプリケーションはより多くのストレージを使用80x86CUP

あまりにも抽象的かもしれないと、私たちはこの絵、味を見ることができ、これはリトルエンディアンで格納されたプログラムです。
ここに画像を挿入説明

なぜビッグエンディアンとリトルエンディアン

コンピュータシステムでは、我々はバイト、バイトの8ビットバイト、各アドレスユニット対応しているためです。しかし、チャーのC言語の8ビット、ならびにショート型16ビット、32ビットのロングタイプに加えて、例えば、16ビットまたは32ビットのため、また、プロセッサ以上8桁よりも、(特定のコンパイラに依存)プロセッサは、1つのバイトよりも大きい幅レジスタあるため、その後、複数のバイトを手配する方法の問題がなければなりません。このように、ビッグエンディアンとリトルエンディアンモードメモリ記憶モードにつながります。
  例えば、16ビットXの短いタイプは、メモリ内のアドレスが上位バイトは0x11を、ただし0x22低いバイトであり、0x0010、0x1122のx値です。ビッグエンディアンモードでは、それはすなわち0x0011で、高で0x0010、すなわち、アドレスの0x22、最下位アドレスは0x11に配置されます。リトルエンディアンモード、ちょうど反対。私たちは、X86アーキテクチャは、リトルエンディアンモードで使用され、KEIL C51はビッグエンディアンでした。ARM、DSPの多くは、リトルエンディアンモードです。また、ハードウェアによって選択することができるいくつかのARMプロセッサは、ビッグエンディアンかリトルエンディアンモードです。

  • 注:このモデルは、データが影響コンパイラによって主にどのように格納されるか、固定されていない、コンパイラは、ストレージモードを変更することができます。
公開された25元の記事 ウォン称賛29 ビュー4209

おすすめ

転載: blog.csdn.net/qq_43573676/article/details/104305068