ビッグエンディアン(Big Endian)方式におけるメモリ配置とレジスタロード

ビッグエンディアン(Big-endian) 方式は、複数バイトのデータをメモリに配置する際、 上位バイト(最上位バイト: MSB側)を若い番地(低位アドレス) に、下位バイト(最下位バイト: LSB側)を後ろの番地(高位アドレス)に順次格納する方式です。 主記憶の 1000番地から2バイトのデータをロードする場合: - 1000番地(上位バイト側)のデータ: 00 - 1001番地(下位バイト側)のデータ: 01 ビッグエンディアンでは若い番地のデータ 00 がレジスタの上位バイトに、次の番地のデータ 01 が下位バイトに格納されるため、レジスタの値は 0001 (16進表示)となります。したがって、正解は ア です。 イ: 1000番地と1002番地を取り違えた誤った値です。 ウ: リトルエンディアン(低位番地に下位バイトを格納する方式)でロードした場合のレジスタ値( 0100 )です。 エ: 1002番地および1003番地のデータ( FF90 )をロードした場合の値です。

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

出典令和5年度 秋期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問4
ア
0001
イ
00FF
ウ
0100
エ
FF90