問11 エンディアン(バイトオーダ)
主記憶の1000番地から、表のように4バイトの整数データが格納されている。これを32ビットのレジスタにロードするとき、プロセッサのエンディアンとレジスタにロードされる数値との組合せとして、正しいものはどれか。
バイトアドレス データ 1000 00 1001 01 1002 02 1003 03
リトルエンディアン ビッグエンディアン 1 00010203 02030001 2 00010203 03020100 3 02030001 00010203 4 03020100 00010203
エンディアンは1byteを超える情報をどのようにメモリ上に配置するかを決めたルールのことです。ビッグエンディアンなら元データの並びどおりに、リトルエンディアンなら逆順に並べます。
今回与えられたデータは1000番地から見て0x00010203ですから、ビッグエンディアンでは00010203、リトルエンディアンなら03020100ですね。