今日はTinyマイコンについての他に、先輩(坂井田さん)のマウス用プログラムの解析をやってみた。途中からサッパリ分からなくなった。でも、久しぶりにプログラムのソースを真剣に読んだ。その中で、AND演算とOR演算を使って、バイト単位記述においてビット単位指定する手法がよく出てきたので、自分が見ても便利なよう、ここに簡単にメモしておくことにした。
<特定のbitを0から1に変える方法>
元の数値に対して論理和(OR)を取る。値を変えないbitは0との論理積、値を0から1に変えるbitは1と論理和を取る。
<特定のbitを1から0に変える方法>
元の数値に対して否定(NOT)+論理積(AND)を取る。値を変えないbitは0との否定+論理積、値を1から0に変えるbitは1との否定+論理積を取る。
<特定のbitを0から1に変える方法>
元の数値に対して論理和(OR)を取る。値を変えないbitは0との論理積、値を0から1に変えるbitは1と論理和を取る。
<特定のbitを1から0に変える方法>
元の数値に対して否定(NOT)+論理積(AND)を取る。値を変えないbitは0との否定+論理積、値を1から0に変えるbitは1との否定+論理積を取る。