応用情報技術者試験 午前

解説一覧 / 令和6年度 春期 問8

解説を読む ↓

8令和6年度 春期テクノロジ系

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

問題の図
図(問題冊子 p.9 より)— クリックで原寸

正解はエ

解説 本サイト独自(IPA公表のものではありません)

 転送元1001~1004と転送先1003~1006は重なっている。昇順では,先に1001を1003へ書き込むと,後で転送元1003を読む際に元のデータを失う。そこで高い側の1004から1006へ降順に4語を転送するので,方向フラグは1となる。

  •  低い側の1001から昇順に転送すると,1001のデータを1003へ書いた後,その上書き済みの1003を転送元として読んでしまう。重なる領域での上書きを考慮していない。
  •  方向フラグ1では開始アドレスから降順に進むため,1001と1003を開始点にすると,1001~1004から1003~1006への転送にならない。降順なのに低い側を開始点にした誤りである。
  •  1004と1006は降順転送の開始点として使う高い側のアドレスである。ここで方向フラグ0を指定すると,そこから昇順に進み,図の1001~1004を1003~1006へ対応させられない。
この解説は間違っています

 ログインは不要です

この解説は,別のモデルによるレビューを受けています。

出典:令和6年度 春期 応用情報技術者試験 午前 問8

自分で解いてから答え合わせをするなら 問題バンク — 解説は解答後に表示されます。