先日購入の4ビットマイコンでプログラム。キー入力した2つの値を加えるだけ。
START:TIY 0 ; Y=0 ; L0: KA ; A = getc() ; JUMP L0 ; if ( flag ) goto L0 ; AM ; mem[ Y ] = A ; CAL SHTS ; short_sound() ; L1: KA ; A = getc() ; JUMP L1 ; if ( flag ) goto L1 ; M+ ; A = A + mem[ Y ] ; AO ; putc( A ) ; CAL ENDS ; end_sound() ; JUMP START ; goto START ;
アドレス | 命令 | 命令コード |
---|---|---|
00 | TIY | A |
01 | <0> | 0 |
02 | KA | 0 |
03 | JUMP | F |
04 | <0> | 0 |
05 | <2> | 2 |
06 | AM | 4 |
07 | CAL | E |
08 | _SHTS | 9 |
09 | KA | 0 |
0A | JUMP | F |
0B | <0> | 0 |
0C | <9> | 9 |
0D | M+ | 6 |
0E | AO | 1 |
0F | CAL | E |
10 | _ENDS | 7 |
11 | JUMP | F |
12 | <0> | 0 |
13 | <0> | 0 |
動作確認
実際に動かしてみる。 [reset]-1-[run] <入力> ピッ <入力> <数字LEDに答> ピロピロ の繰り返し。
キー入力でキーリリースやらチャタリングの心配をしなくていいのが、 4ビットコンピュータもどきである証拠。 でも、入力を伴う実験が簡単に書ける。