4bitマイコン 15秒カウンタの仕組み

■15秒カウンタ

アドレス 命令 レジスタの値 説明
00 01 A1 TIY 1 [a:F y:1] Yレジスタに1を代入
02 03 89 TIA 9 [a:9 y:1..F] Aレジスタに9を代入する
04 05 EC CAL TIMER [a:9 y:1..F] 1 秒間処理を待つ( 1秒 = (Aレジスタで指定した時間 + 1) * 0.1)
06 3 CY [a:1..F y:9] AレジスタとYレジスタの値を入れ替える
07 1 AO [a:9 y:1..F] Aレジスタの値[9]を表示する
08 3 CY [a:9 y:1..F] AレジスタとYレジスタの値を入れ替える
09 0A E9 CAL SHTS [a:9 y:1..F] 短い音を鳴らす。コールショーとサウンド
0B 0C B1 AIY 1 [a:9 y:1..F] Yレジスタに1を足す。桁上がりした場合は実行フラグが1になる。
0D0E0F F13 JUMP 13 [a:9 y:2..F] 実行フラグが1なら、アドレス13に飛ぶ。実行フラグが0なら次の処理を行う。ここにくるときは必ず実行フラグが1なのでジャンプは実行される
101112 F13 JUMP 02 [a:9 y:0] 実行フラグが1なら、アドレス02に飛ぶ
13 14 E7 CAL ENDS [a:9 y:0] エンド音を鳴らす
151617 F15 JUMP 15 [a:9 y:0] アドレス15に飛ぶ