基本情報技術者試験 2002年度 = 平成14年度・秋期 午前 問19

 転送元の開始アドレス、転送先の開始アドレス、方向フラグ及び転送語数を指定することでブロック転送が行えるCPUにおいて、図のようにアドレス1001から1004の内容をアドレス1003から1006に転送する場合、パラメタとして適切なものはどれか。ここで、転送は開始アドレスから1語ずつ行われ、方向フラグに0を指定するとアドレスの昇順に、1を指定するとアドレスの降順に転送を行うものとする。


 転送元の開始アドレス   転送先の開始アドレス    方向フラグ     転送語数  
 ア  1001 1003 0 4
 イ  1001 1003 1 4
 ウ  1004 1006 0 4
 エ  1004 1006 1 4

解答

 エ

解説

 1001番地~1004番地を1003番地~1006番地に転送するためには、以下に示す手順で行う必要があります。
 [1] 1004番地の内容を1006番地にコピー
 [2] 1003番地の内容を1005番地にコピー
 [3] 1002番地の内容を1004番地にコピー
 [4] 1001番地の内容を1003番地にコピー
 すなわち、高位のアドレスから始めて、低位のアドレスへと降順に転送を行う必要があります。したがって、正解はです。
 以下に示すように、昇順にコピーしたらどうなるかを考察しましょう。
 [A] 1001番地の内容を1003番地にコピー
 [B] 1002番地の内容を1004番地にコピー
 [C] 1003番地の内容を1005番地にコピー
 [D] 1004番地の内容を1006番地にコピー
[A]が終了した段階で、本来の1003番地の内容が書き換えられてしまうことになります。これでは正常な転送は行えません。


BohYoh.comトップページへ