ビッグエンディアン方式におけるバイトオーダとレジスタロード値

ビッグエンディアン(Big-Endian)方式 は、複数バイトで構成されるデータの上位バイト(Most Significant Byte: MSB)をメモリアドレスの若い番地(低位アドレス)から順に格納する方式です。本問では主記憶の1000番地から2バイト(16ビット)のデータをロードします。表より、1000番地には 00 (上位バイト)、1001番地には 01 (下位バイト)が格納されています。ビッグエンディアンに従って16ビットレジスタにロードすると、上位バイトが 00 、下位バイトが 01 となるため、レジスタの値は 16進数で `0001` となります。したがって、正解は ア です。 イ: 00FF は、1000番地(00)と1002番地(FF)を組み合わせた誤った値です。 ウ: 0100 は、下位アドレス(1000番地)の内容を下位バイトに配置するリトルエンディアン(Little-Endian)方式でロードした場合の値です。 エ: FF00 は、1002番地と1000番地のデータを誤って組み合わせた値です。

ビッグエンディアン方式を採用しているCPUが,表のようにデータが格納された主記憶の1000番地から2バイトのデータを,16ビット長のレジスタにロードしたとき,レジスタの値はどれになるか。ここで,番地及びデータは全て16進表示である。

問題画像
出典令和2年度 10月特別 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問2
ア
0001
イ
00FF
ウ
0100
エ
FF00