PICでCPUと対話している

CPUと対話する感じのことをしたかったので、PICでアセンブリを書きました。

asmを書いたのはこれが初めてです。1から16まで足し上げた結果をPORTCに出力するコードです。実機での動作を(テスターで)確認できました。実にプリミティブ。

普通に書いたコードをベースに、さらに変なインクルードレスプログラミングをしてみました。コンピュータと触れ合えた気がします。まだ脳ではPIC16F1命令セットの実行はできませんが。

ORG 0を入れたり、ANSELをクリアしないと出力されなかったり、16F1ではバンク切り替えに新しいMOVLB命令を使う(1命令でバンク切り替えできる)などといった知見がまったくなかったので手探りでしたが、とても勉強になりました。実はMOVLBも直接使う必要がなくて、BANKSEL PORTCのように疑似命令を使うとその品種で当該レジスタのあるバンクに切り替えてくれます。

アセンブルされて書き込まれたメモリ上のデータです。なお、1命令が14bitなので、たぶんそのままではバイナリエディタでうまく見られません。バイナリエディタでのうまい見方を知りたいです。

たった16命令でプログラムが完結するなんですごい。もうちょっと実用的なプログラムを書いてみたいですが、実用性ならCで書けばいい話なんですよね。しかし、せめて電卓的なものくらいは作ってみたいなぁ

キャプチャ

広告
カテゴリー: コンピュータ, 電気電子 パーマリンク

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト /  変更 )

Google フォト

Google アカウントを使ってコメントしています。 ログアウト /  変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト /  変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト /  変更 )

%s と連携中