同一メモリ空間で、転送元の開始アドレス、転送先の開始アドレス、方向フラグ及び転送語数をパラメータとして指定することによって、ブロック転送ができる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番地に入っている内容が1003番地に転送され、1003番地の内容が1001番地の内容に上書きされてしまうため、結果がおかしくなる。
イ 開始アドレス1001から1000、999、998の順に転送されてしまう。
ウ 転送元のアドレスの1004〜1007番地に入っている内容が、転送先の1006〜1009番地に転送されてしまう。
エ 正しい。
問7 | 目次 | 問9 |