アセンブラ命令


【命令の概要】

 PIC18シリーズになって、これまでのミッドレンジに比べてアセンブラ命令は、
倍の75個に増えました。しかも上位互換性があるので、これまでのプログラム
の移植も容易にできます。
 特に変更になったのは、これまですべて1ワード命令しか無かったのですが、
PIC18シリーズでは、3種類の2ワード命令が追加されました。 
これは広いアドレス空間を直接扱えるようにしたもので、ページ切替のわずらわ
しさから解放されました。
 また乗算命令も追加されましたので、これで演算関連処理がかなり楽にでき、
また高速にもなります。

 命令はこれまでと同じように下記のような4種類に大別されます。

   (1) バイト処理命令
   (2) ビット処理命令
   (3) リテラル処理命令
   (4) 制御命令

【命令構造】

各命令の構造は1ワード16ビット、または2ワード32ビットを下図のように使って
構成されています。
特にジャンプ命令の種類が増えて、近い場所へのジャンプと遠い場所へのジャンプ
で使い分けができるようになりましたので、種類が多くなっています。











【命令の一覧】

全てのアセンブラ命令の一覧表が下記となります。 

(1) バイト処理命令/ビット処理命令
 算術演算、論理演算が主な命令です。
 新たに追加された主な命令は、CPFxxx命令で、Wレジスタとデータメモリとの
 比較をしてスキップする命令で、これまで2命令が必要であったものが、1命令
 でできるようになりました。
 またMOVFF命令も新規追加で、データ間で直接相手を指定して指定コピーが
 できるので、これまで2命令必要だったものが1命令でできます。
 さらにバイト乗算命令が追加されています。







(2) 制御命令
  ジャンプ命令を中心とした命令で、特に種類が増えています。これまでのGOTO
  やCALL命令は2バイト命令となって、全アドレス空間に直接ジャンプできます。
  これまでの2kワードの範囲のジャンプ命令もBRA命令として残っていますが、
  分岐命令はもっと近い場所にしかジャンプしないということで、256ワードの
  範囲のジャンプ先に制限し、代わりに判定する種類が増やされました。
 
  RETURN関連命令には高速リターンという種類が増えています。
 





(3) リテラル処理命令/テーブル処理命令
 定数処理については、乗算命令の追加と、FSRを扱う2バイト命令が追加されて
 います。
 定数処理で全く新規に追加されたものは、テーブル処理命令で、プログラムメモリに
 用意された大きな定数テーブルにアクセスして、データとして順に取り出す命令が
 追加されました。








   目次ページへ