PICの命令の種類と命令構造

【PICの命令の構造】

 PICのミドルレンジファミリーの命令は全部で35個しかありません
が、これらをその内部構造で大分類すると、下図の様に3種類しか
ありませんので、覚えるのも、使うのも簡単です。
次ぎのページから、これらの命令を駆使してプログラムを作る方法を、
順次命令毎に説明して行きます。



【命令構造の説明】

上図の命令の構造を説明します。

(1)まず、命令は全て14ビットを単位として構成されており、これが
  プログラムメモリの1番地当たり1命令という形で格納されます。

  余談ですが、このような構造を持ったマイコンのことをRISC構造
  のマイコンと呼称します。

(2)そしてこの番地はプログラムカウンタで指定され、その指定された
  番地の命令が呼び出されて実行されます。
  実行されると、まず命令コードが解読され、その結果、上記のどの
  構造かが判定されてから、上記の構造毎に別の処理がされること
  になります。

(3)構造(a)の場合には、演算が中心となる命令で、レジスタファイルの
  f 番地にあるデータレジスタが演算の対象となります。
  dビットは結果の格納場所を指定します。

  f は 7ビットしかありませんから、指定できるレジスタファイルは
  128個までのレジスタということになります。
  これでは一寸不足する場合もあるので、Bankという考え方を採用
  して128×4個のレジスタが指定できるように工夫しています。
  詳細は、PICのメモリーアーキテクチャ を参照して下さい。

(4)構造(b)の場合には、ビット演算の命令で、レジスタファイルの f 番地
  のデータの b ビット目を対象とした演算を実行します。
  データとして使われるレジスタは8ビットですから、3ビットのbでデータ
  の8ビットが全て指定できることになります。

(5)構造(c)の場合には、コンスタント k を演算の対象とします。
  このコンスタント kは8ビットしかありませんので、8ビットで表現でき
  る大きさのデータしか扱えません。
  
  しかし、ジャンプ命令などの時、kが8ビットしかないということは、
  最大でも256番地しか離れたところまでしかジャンプ出来ないという
  ことになってしまうので、これを解決するために、Pageという考え方
  を採用して工夫しています。
  詳しくは、PICのメモリーアーキテクチャを参照して下さい。


   次のページへ      目次ページへ