作成例をリスト3に示します。
リスト3
14行目:PDR6を4ビット右シフト
PDR6 | |||||||
bit7 | bit6 | bit5 | bit4 | bit3 | bit2 | bit1 | bit0 |
SW4 | SW3 | SW2 | SW1 | - | - | - | - |
→4ビットシフト | |||||||
↓ | |||||||
dumy | |||||||
bit7 | bit6 | bit5 | bit4 | bit3 | bit2 | bit1 | bit0 |
0 | 0 | 0 | 0 | SW4 | SW3 | SW2 | SW1 |
16行目:dumy最下位ビットのみ抽出
dumy | |||||||
bit7 | bit6 | bit5 | bit4 | bit3 | bit2 | bit1 | bit0 |
0 | 0 | 0 | 0 | SW4 | SW3 | SW2 | SW1 |
A N D | |||||||
0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
↓ | ↓ | ↓ | ↓ | ↓ | ↓ | ↓ | ↓ |
0 | 0 | 0 | 0 | 0 | 0 | 0 | SW1 |
SW1のビットに1が入っていればifの中へ、0が入っていればelseの中へ
21行目:dumyを1ビット右シフト
dumy | |||||||
bit7 | bit6 | bit5 | bit4 | bit3 | bit2 | bit1 | bit0 |
0 | 0 | 0 | 0 | SW4 | SW3 | SW2 | SW1 |
→1ビット右シフト | |||||||
↓ | |||||||
dumy | |||||||
bit7 | bit6 | bit5 | bit4 | bit3 | bit2 | bit1 | bit0 |
0 | 0 | 0 | 0 | 0 | SW4 | SW3 | SW2 |
これを4回繰り返してSW2、SW3、SW4の状態も取得します
実行結果は図9のとおりです
図9