| port | bit 1(1) | bit 2(2) | bit 3(4) | bit 4(8) | bit 5(16) | bit 6(32) | bit 7(64) | bit 8(128) |
|---|---|---|---|---|---|---|---|---|
| E0 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| E1 | 8 | 9 | * | + | = | , | . | [Enter] |
| E2 | @ | A | B | C | D | E | F | G |
| E3 | H | I | J | K | L | M | N | O |
| E4 | P | Q | R | S | T | U | V | W |
| E5 | X | Y | Z | { | \ | } | ^ | = |
| E6 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
| E7 | 8 | 9 | : | ; | , | . | / | \ |
| E8 | [HOME] | ↑ | → | [DEL] | [GRPH] | [カナ] | [SHIFT] | [CTRL] |
| E9 | [STOP] | f1 | f2 | f3 | f4 | f5 | [SPACE] | [ESC] |
| EA | [TAB] | ↓ | ← | [HELP] | [COPY] | - | / | [CAPS] |
| EB | [ROLL UP] | [ROLL DOWN] | ||||||
| EC | [BS] | [XFER] | f6 | f7 | f8 | f9 | f10 | [INS] |
IO ポートの状態を読み出すことにより、キーの押下状態をリアルタイムで取得することができます。
INP(port) を呼び出すと、port に対応したキーが何も押されていないときは bit が全て ON(255)が返ってきます。キーが押されていた場合、対応する bit が OFF になって返ってきます。例えば、INP(&HE0) を呼び出した場合、テンキーの 5 が押されていると bit 6 が OFF の 223 が返ってきます。
INP(port) の戻り値に対して論理積(AND)や論理和(OR)を行うことにより、特定の bit だけを調べることができます。
次の例では、テンキーの 4 が押されていたら X を 1 減らし、6 が押されていたら 1 増やしています。
100 LOCATE 0,0:PRINT "X = ";X; 110 A = INP(&HE0) 120 X = X + ((A AND 2^5) = 0) - ((A AND 2^7) = 0) 130 GOTO 100