「ほっ」と。キャンペーン

GMC-4 1ビットORプログラム

GMC-4 の加減算と右シフト命令を使って、1ビットのOR演算をさせてみた。キーボードから、1と1を入力すると1が表示され、1と0または0と1なら1、0と0なら0が表示される。実用的な意味はなく、コンピュータに論理演算をやらせたかっただけ。OR演算の処理部分にJUMP命令を使っていないのでリロケータブルなプログラムになった。

00 0 (KA) #最初の数値をキーボードから入力しメモリ5F番地に入れる。
01 F 0 0 (JUMP 0 0)
04 1 (AO)
05 E 9 (CAL SHTS)
07 A F (TIY F)
09 4 (AM)
0A 0 (KA) #2番目の数値をキーボードから入力
0B F 0 A (JUMP 0 A)
0E 1 (AO)
0F E 9 (CAL SHTS)
11 6 (M+) #A = A + <5F>
12 4 (AM) <5F> = A
13 E 6 (CAL SIFT) #A = A / 2
15 A E (TIY E) #<5E> = A
17 4 (AM) 
18 6 (M+) #A = A + <5E> (A = A + A)
19 A F (TIY F) #<5F> = <5F> - A
1B 7 (M-)
1C 4 (AM) 
1D A E (TIY E) #A = <5E>
1F 5 (MA)
20 A F (TIY F) #A = A + <5F>
22 6 (M+)
23 1 (AO) #結果を表示
24 E 7 (CAL ENDS)
26 F 0 0 (JUMP 0 0)

GMC-4の改訂版が作られることはないかもしれないが、サブルーチンコールのE3が空いているようなので、ANDかORのビット論理操作を登録すれば、ビット反転のNOTは既にあるから、GMC-4を教育用にも使えるような気がする。NOTとANDかORがあれば他はプログラムで作ることができるから。なんといっても、書籍込みで2500円はうれしい。

GMC-4がなんで面白いかというと、メモリーやアドレスのビットを直接操作しているという感じがあるからだ。高級言語でプログラムしているときにはあまり感じられない機械を直接に動かしているという感覚が楽しいのだ。電子工作が苦手なので敬遠していたが、PICもやってみたくなってきた。
[PR]
by tnomura9 | 2009-07-17 07:39 | 話のネタ | Comments(0)
<< 1chipMSX GMC-4 のビット操作 >>