• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:4bitデータを変更して出力させるプログラム)

4bitデータを変更して出力させるプログラム

このQ&Aのポイント
  • PIC16F88を使用したアセンブラで、4bitデータを変更して出力させるプログラムを作成する方法について教えてください。
  • ポートAに4bitの入力を行い、それを別の4bitのデータに変更してポートBから出力するプログラムの作成方法について教えてください。
  • マイコンPIC16F88を使用し、ポートAに入力された4bitのデータを別の4bitのデータに変更してポートBから出力するプログラムの作成方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • 44060
  • ベストアンサー率33% (2/6)
回答No.2

RETLW命令を使用するのが一番簡単と思います。 以下はマニュアル記載の説明です。 Description: 8 ビットのリテラル“k”をW レジスタにロードして、スタックの最上位(リターンアドレス)をプログラムカウン タへロードします。これは2 サイクルの命令です。 Words: 1 Cycles: 2 Example:   CALL TABLE ;W contains           ;table offset           ;value.   •        ;W now has table   •        ;value.   • TABLE  ADDWF PC ;W = offset        RETLW k1 ;Begin table       RETLW k2 ;       •       •       •       RETLW kn ; End of table 命令実行前 W = 0x07 命令実行後 W = k8の値

chubechube
質問者

補足

44060様、回答ありがとうございます。 理解力の乏しい自分で、お恥ずかしい限りです。 お手数をおかけしてしまいますが、1つのデータの変換プログラム(命令文)でもいいので、教えて頂くことは可能でしょうか?

その他の回答 (1)

  • ymmasayan
  • ベストアンサー率30% (2593/8599)
回答No.1

普通は16個のテーブルを作ります。 Aは0,8,4,12,2,10,6,14,1,9ですから AでソートしてAの数字の場所にBを入れておけば一発検索できますね。 余談ですが汎用機ではこのコンバージョン(8ビット)の文字列変換を やってくれる命令語があります。