マイコン汎用入出力ポートにおけるLED点灯制御と論理演算(OR演算)

正解は イ です。 LED1 はビット3、LED2 はビット6 に接続されています。読み出した値の ビット3だけを1にし、他のビット(ビット6を含む)は元の値のまま 書き戻せば、LED2 の状態を変えずに LED1 を点灯できます。 ビット 7 6(LED2) 5 4 3(LED1) 2 1 0 16進数 08 0 0 0 0 1 0 0 0 16進数 48 0 1 0 0 1 0 0 0 演算 結果 x OR 1 必ず1になる(点灯させる) x OR 0 x のまま(変えない) x AND 0 必ず0になる(消灯させる) 08 との論理和なら、ビット3だけが1になり、他のビットは元のままです(イ)。08 との論理積(ア)はビット3以外を全て0にしてしまい、LED2 も消灯します。48 との論理和(エ)はビット6も1にするため、LED2 が消灯していた場合に点灯させてしまいます。

マイコンの汎用入出力ポートに接続された LED1 を,LED2 の状態を変化させずに点灯したい。汎用入出力ポートに書き込む値として,適切なものはどれか。ここで,使用されている汎用入出力ポートのビットは全て出力モードに設定されていて,出力値の読出しが可能で,この操作の間に汎用入出力ポートに対する他の操作は行われないものとする。

問題画像
出典令和3年度 秋期 応用情報技術者試験 午前 問23
ア
汎用入出力ポートから読み出した値と16進数の08との論理積
イ
汎用入出力ポートから読み出した値と16進数の08との論理和
ウ
汎用入出力ポートから読み出した値と16進数の48との論理積
エ
汎用入出力ポートから読み出した値と16進数の48との論理和