平成29年春期午後問2

午前試験免除制度対応!基本情報技術者試験のeラーニング【独習ゼミ】
考えすぎてはげたさん  
(No.1)
https://www.fe-siken.com/kakomon/29_haru/pm02.html

この問題なのですが、沼にはまり全くわかりません。
判定処理でGR=0以外のときにループを抜けるのは理解できるのですが、
GRが0になるタイミングが存在するのかが全く理解できません。

初心者につき、かみ砕いた優しい解説を希望いたします。
2021.06.03 22:04
かいとさん 
(No.2)
GRが0になる場合というのは回答欄dの直前のinput 2が読み込んだ値が0ということです。
動作概要に「番号2のi/oポートから読み込んだ値が0ならば、変換中を示す」とあるので、まだ処理が終わっておらずに変換中の場合GRが0になるということになります。
2021.06.04 10:29
かなさん 
FE ブロンズマイスター
(No.3)
dに関する解答群のループで繰り返される命令は「INPUT 2」しかありませんので、ここが何かをしているはずだ!と考えなくてはなりません。

表3の
>INPUT I/Oポート番号
>番号で指定したI/Oポート番号に接続されている機器からデータを読み取り、GRに設定する。
から、「INPUT 2」は「I/Oポート番号2に接続されている機器からデータを読み取り、GRに設定する」ことがわかります。

さらに表2の
>機器: A/D変換器
>I/Oポート番号: 2
>動作概要: 番号2のI/Oポートから読み込んだ値が0ならば、変換中を示す。
>動作概要: 番号2のI/Oポートから読み込んだ値が0以外ならば、A/D変換が完了して出力値が確定していることを示す。
から、読み込まれる値は「0」か「0以外」かで分けられること、この値によってA/D変換器が変換中かそうでないかがわかります。


全体的な動きとしては、A/D変換器が色々と動いて、「INPUT 2」で取得する値が変わるため、GRの値も変わるというわけです。
2021.06.04 10:50
考えすぎてはげたさん  
(No.4)
かいと  さん
かな  さん

丁寧な回答・解説感謝いたします。けど、実はまだ理解できていません。

便宜上、8つの処理を上から①~⑧とさせてください。

A/D変換器は、①「GR←1」と②「OUTPUT  2」で変換を開始するのは理解します。
その後、③「INPUT  2」を行う前、つまり変換中のA/D変換器は、自らの動作状態と
して'0'を出力している(というか、読み込まれる値として'0'を保持している)という意味で
あっているでしょうか?

これを自分の言葉で整理し、A/D変換器の2の動作を言い換えると、
「INPUT  2」のとき、「変換中」であれば、GRに'0'を出力する
であっていますか?

回りくどくて申し訳ありません。

2021.06.04 22:32
かなさん 
FE ブロンズマイスター
(No.5)
>A/D変換器は、①「GR←1」と②「OUTPUT  2」で変換を開始するのは理解します。
>その後、③「INPUT  2」を行う前、つまり変換中のA/D変換器は、自らの動作状態と
>して'0'を出力している(というか、読み込まれる値として'0'を保持している)という意味で
>あっているでしょうか?

私もハードウェアはそれほど詳しいわけではないので、厳密な話は分かりかねますが、そういうイメージで大丈夫です。

>これを自分の言葉で整理し、A/D変換器の2の動作を言い換えると、
>「INPUT  2」のとき、「変換中」であれば、GRに'0'を出力する
>であっていますか?

「INPUT  2」は命令ですので、「『INPUT  2』のとき」というよりは、「『INPUT  2』が実行されると」と理解したほうが良いですが、そういうことです。

2021.06.06 20:42

返信投稿用フォーム

スパム防止のためにスレッド作成日から30日経過したスレッドへの書込みはできません。

その他のスレッド


Pagetop