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

領域が重なる前方向コピーは末尾から降順に転送する

応用情報技術者試験2019年度 春期 午前9/コンピュータ構成要素 / プロセッサ

メモリのアドレスと内容を示す模式図。実行前はアドレス1000〜1007の列があり、1001〜1004の4マスがグレー(データが入っている状態)。実行後は同じアドレス列で、1003〜1006の4マスがグレーになっている。実行前の1001→実行後の1003、実行前の1004→実行後の1006へそれぞれ矢印が引かれており、4語分のデータがアドレスの大きい方向(降順配置のまま後方)へまとめて2つずれて転送される様子を表す。
メモリのアドレスと内容を示す模式図。実行前はアドレス1000〜1007の列があり、1001〜1004の4マスがグレー(データが入っている状態)。実行後は同じアドレス列で、1003〜1006の4マスがグレーになっている。実行前の1001→実行後の1003、実行前の1004→実行後の1006へそれぞれ矢印が引かれており、4語分のデータがアドレスの大きい方向(降順配置のまま後方)へまとめて2つずれて転送される様子を表す。
転送元の開始アドレス転送先の開始アドレス方向フラグ転送語数
1001100304
1001100314
1004100604
1004100614

選択肢

正解と解説

正解: 転送元の開始アドレス1004、転送先の開始アドレス1006、方向フラグ1、転送語数4

転送元1001〜1004と転送先1003〜1006は2語分だけ重なっている。昇順に転送すると1001の内容を1003に書いた時点で、まだ読んでいない元の1003が壊れてしまう。そこで末尾から、つまり転送元1004・転送先1006を開始アドレスとして方向フラグ1(降順)で転送すれば、読む前に上書きされることがない。

選択肢ごとの解説

出典:平成31年度 春期 応用情報技術者試験 午前 問9(IPA)

同じ分野の他の問題

最終更新:2026-08-25/解説・選択肢ごとの解説は資格暗記が独自に作成しています。問題文と選択肢の出典は上記のとおりです。