平成31年度 春期 応用情報技術者試験 午前 問9
同一メモリ上で転送するとき,転送元の開始アドレス,転送先の開始アドレス,方向フラグ及び転送語数をパラメータとして指定することでブロック転送ができるCPUがある。図のようにアドレス 1001 から 1004 の内容をアドレス 1003 から 1006 に転送する場合,パラメータとして適切なものはどれか。ここで,転送は開始アドレスから1語ずつ行われ,方向フラグに0を指定するとアドレスの昇順に,1を指定するとアドレスの降順に転送を行うものとする。

キーボード:1〜4 で解答 → 次の問題 ← 前の問題
正解と解説を見る
解答する前に解説を開いたので、この問題は「見て解いた」として記録します(正解数には入りません)。
正解:エ
- アドレス 1001 から 1004 の内容を 1003 から 1006 に転送する場合、転送先のアドレス領域(1003, 1004)が転送元のアドレス領域(1001, 1002)に重なっています。
- 昇順 (方向フラグ 0) で転送すると、重なりが発生しデータが正しく転送されません。
- 正しく転送するためには 降順 (方向フラグ 1) で転送を行い、転送元のデータが上書きされないようにする必要があります。
- 転送元の開始アドレスは 1004 で、転送先の開始アドレスは 1006 になります。
答え
エ: 転送元の開始アドレス 1004,転送先の開始アドレス 1006,方向フラグ 1,転送語数 4
出典:平成31年度 春期 応用情報技術者試験 午前 問9