LoginSignup
2
0

More than 1 year has passed since last update.

CPUの創りかた TD4 に掲載されている「TD4 改」用のプログラムとして「3-3-7拍子・プログラム」が掲載されていることから着想を得て、本家TD4で実行できる337拍子のプログラムを考えた。

プログラム

位置 機械語   アセンブリ言語
--------------------------------
0    00111101 FIRST: MOV A, 1101
1    10111000 THREE: OUT 1000
2    10110000        OUT 0000
3    00000001        ADD A, 0001
4    11100001        JNC THREE
5    01011000        ADD B, 1000
6    11100000        JNC FIRST
7    00111001        MOV A, 1001
8    10111000 SEVEN: OUT 1000
9    10110000        OUT 0000
A    00000001        ADD A, 0001
B    11101000        JNC SEVEN
C    00000000        ADD A, 0000
D    11110000        JMP FIRST

Aレジスタを用いて、連続で音を鳴らす回数を制御している。
Bレジスタを用いて、「音を3回鳴らす処理を2回繰り返す」を実現している。
繰り返しまたはTHREEとSEVENの間の移動の時間を、連続で音を鳴らす間の時間として活用している。

Q. あれ?「TD4 改」のプログラムと似てね?
A. パクった覚えは無い。自由度が少ない中似たようなことをしたら、そりゃあ似たようなプログラムになるんじゃね?

実行結果

この動画では、TD4の命令を実行できる自作CPU「Kageki」を用い、
出力ポートの最上位ビットに 2-way Buzzer Board を接続して音を出している。
Kageki 固有の性質は用いていないため、本家TD4でも実行できると考えられる。

2
0
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0