新規追加命令


【追加命令一覧】

新PIC16ファミリでは、間接アドレッシング機能の強化に伴いいくつかの
命令が追加されました。
追加命令を大きく分類すると下記のようになります。
(1) 多バイト演算用命令
   ADDWFC、 SUBWFB、 LSLF、 LSRF、 ASRF
(2) ページ、バンク制御用命令
   MOVLP、 MOVLB
(3) ジャンプ命令
   BRA、 BRW、 CALLW
(4) 間接アドレッシング処理
   ADDFSR、 MOVIW、 MOVWI
(5) ソフトウェアリセット命令
   RESET

【多バイト演算用命令】

複数バイトのデータの演算に必要なキャリーとボローを含めた演算が
できる命令を追加しました。


 Wとキャリーフラグ(C)とf番地メモリの加算
 結果はdビットが0ならW上書き、1ならf番地上書き



 f番地からWとボロー(C)を引き算
 結果はdビットが0ならW上書き、1ならf番地上書き







【ページ、バンク制御命令】

1命令の1サイクルでページやバンクの切替ができる命令を
用意しました。




  PLLATHレジスタに定数kをセット、これでページが
  切り替わり、次の命令で新たなPCLATHが使われる



  BSRレジスタに定数kをセット。これでバンクが切り替わる
  

【ジャンプ命令】

相対ジャンプ命令を用意し、ページ間を渡ってもジャンプ
できるようにしました。

詳細は前ページ参照

【間接アドレッシング処理命令】

間接アドレッシングをうまく利用できるようアドレス増し分付き
間接アドレッシングによるメモリアクセス関数を用意しました。



  符号付定数kをFSRレジスタに加算する。
  上下限を超えた場合は折り返す



  FSRでインデックスされた番地のデータをWレジスタ
  にコピーする。その前後でFSRレジスタを増減させる



  Wレジスタの内容をFSRレジスタでインデックスされたメモリ
  にコピーする。その前後でFSRレジスタを増減させる。

【リセット命令】

ソフトウェアにより、ハードウェアリセットを同じ機能を実行する
この後0番地から命令実行が再開される。
 

  目次ページに戻る