HOME»基本情報技術者試験掲示板»平成23年特別試験午後問題  問12
投稿する

平成23年特別試験午後問題  問12 [4216]

 ゆりさん(No.1) 
プログラム1の7行目、GR7にGR5(結果の領域アドレス)+0を格納している場所は何を格納しているんでしょうか?
1回目は結果領域には何も入っていないので0000だと思ったのですが、その後GR7に格納されていないため2回目以降も0000で変わらず、それだと8行目で右シフトする意味がよく分かりません。
2022.05.04 21:59
chihiroさん(No.2) 
FE プラチナマイスター
>1回目は結果領域には何も入っていないので0000だと思ったのですが、その後GR7に格納されていないため2回目以降も0000で変わらず、それだと8行目で右シフトする意味がよく分かりません。
初回は確かにそうですが、例えばGR6に格納された内容の15ビット目が1だった場合、
・9行目の左シフトでOFが1になる
・10行目でONに飛ばされる(OFが1だから)
・12行目でGR7と#8000との論理和をとる
・13行目でGR7の内容を(GR5+0)番地に格納
となるので、16行目でLOOP2に戻って再び8行目を実行するときにはGR7は8000になっています。プログラム1の16行目までの処理は、GR1+(0,1,2,…,15)番地の内容のnビット目を、GR2+(15-n)番地の0,1,2,…,15ビット目に写す処理になっています。図1をもとにトレースすると処理の流れがわかると思います。
2022.05.05 00:32
 ゆりさん(No.3) 
返信遅くなりましてすみません!
回答ありがとうございます、わかりやすかったです。再度トレースしてみます…!!
2022.05.08 11:37
返信投稿用フォームスパム防止のためにスレッド作成日から30日経過したスレッドへの投稿はできません。
© 2010-2024 基本情報技術者試験ドットコム All Rights Reserved.

Pagetop