[PIC]アセンブラで数値を記述する場合は基数指定が必須です
2012年7月22日
(カテゴリ: PIC:)
PICのアセンブラで基数を明示せずに数字を指定すると、通常は16進数として認識されます。 例えばPIC16F84で、以下のコードを実行すると… LIST P=16F84 INCLUDE P16F84A.INC ORG 0 MAIN MOVLW 0x10 GOTO MAIN END LIST P=16F84 INCLUDE P16F84A.INC ORG 0 MAIN MOVLW 0x10 GOTO MAIN END このように、Wレジスタに0x10(10進数で”16″)がセットされます。 ですがMPLABを使用している場合、この振…
続きを読む
[C#]PIC16シリーズのバイナリを逆アセンブルする
前回、MPLABで生成されたhexファイルを解析するプログラムをC#で用意しました。 今回はこのバイナリ(機械語)を元に、逆アセンブルするプログラムを作成します。 というわけでプログラムです。 13bitの2進データをみて文字列に変換するだけなので、単純に力技です。 今回は分かりやすいように全命令の処理を列挙しましたが、PICの機械語命令は、命令の各bitに何の情報を持たせるかの構成パターン数が少ないので、最適化させればもう少しシンプルに書けそうです。 PICアセンブラ入門 using System; class Pic16f84 { //***************…
続きを読む