デジタルちんぶろぐ

デジタルな話題

ホーム 連絡をする 同期する ( RSS 2.0 ) Login
投稿数  268  : 記事  0  : コメント  4419  : トラックバック  79

ニュース


技術以外は
ちんぶろぐ

記事カテゴリ

書庫

日記カテゴリ

2009年7月3日 #

大人の科学マガジン 4bitマイコン付買った の続き

裏の命令表見ながら1秒ごとに7Seg LEDで1->2->3...とカウントするプログラムを作ってみました

Adr

命令

コード

コメント

0 8 1 TIA 1 Aレジスタに1を入れる
2 1 AO Aレジスタの内容をLEDへ出力
3 3 CY AレジスタとYレジスタを入れ替え
4 8 A TIA 10 Aレジスタに10を入れる
6 EC CAL TIMR Aレジスタにで指定した時間ウェイト(0.1×10=1秒)
8 3 CY AレジスタとYレジスタを入れ替え
9 9 1 AIA 1 Aレジスタの内容を+1(インクリメント)
B 3 CY AレジスタとYレジスタを入れ替え
C 3 CY AレジスタとYレジスタを入れ替え
D F 02 JUMP 02 2番地へ戻る

B,C番地でAとYのスワップを2度行っているのはAレジスタの値を保持しつつ実行フラグを立てるためです。

JUMP命令は実行フラグが立っていないと分岐できないためこのようなことをしました。

もっといいやり方があるんでしょうが命令表見ながらパコパコ打っただけなんで^^;

アセンブラというか機械語の教材として結構いいんじゃないかな?と思いました。

posted @ 0:39 | Feedback (5)