作成例をリスト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