同一メモリ上で転送するとき、転送元の開始アドレス、転送先の開始アドレス、方向フラグ及び転送語数をパラメタとして指定することによってブロック転送ができる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番地に転送されてしまう。
エ 正しい。
問8 | 目次 | 問10 |