目次PIC入門


PIC16シリーズの命令仕様 (4)



命令一覧

COMFf レジスタの内容の補数(0と1を反転)の演算
書式[label]COMFf, d( label は省略可 はスペースを示す )
オペランド f:ファイル・レジスタのアドレス ( 00(00h) 〜 127(7Fh) )
d:結果格納先 ( 0 または 1 )
実行内容 f レジスタの内容の補数演算を実行する。(2の補数ではない)
d = 0 なら結果をWレジスタに上書きする。
d = 1 なら結果を f レジスタに上書きする。
( 例 )
影響フラグ 演算結果が 0 の場合、Zフラッグに 1 を設定
演算結果が 0 でない場合、Zフラッグに 0 を設定
命令実行
サイクル
1サイクル


DECFf レジスタの内容のカウントダウン
書式[label]DECFf, d( label は省略可 はスペースを示す )
オペランド f:ファイル・レジスタのアドレス ( 00(00h) 〜 127(7Fh) )
d:結果格納先 ( 0 または 1 )
実行内容 f レジスタの内容から1を減算する。
d = 0 なら結果をWレジスタに上書きする。
d = 1 なら結果を f レジスタに上書きする。
( 例 )
影響フラグ 演算結果が 0 の場合、Zフラッグに 1 を設定
演算結果が 0 でない場合、Zフラッグに 0 を設定
命令実行
サイクル
1サイクル


DECFSZf レジスタを減算し、結果が 0 なら次の命令をスキップ
書式[label]DECFSZf, d( label は省略可 はスペースを示す )
オペランド f:ファイル・レジスタのアドレス ( 00(00h) 〜 127(7Fh) )
d:結果格納先 ( 0 または 1 )
実行内容 f レジスタの内容から1を減算する。
d = 0 なら結果をWレジスタに上書きする。
d = 1 なら結果を f レジスタに上書きする。
減算の結果が 0 の場合、次の命令をNOP命令に変えて実行する。
(次の命令をスキップし、その次の命令を実行する)
影響フラグ変化無し
命令実行
サイクル
1サイクル
スキップをする場合は2サイクル


GOTO指定の番地へジャンプ
書式[label]GOTOk( label は省略可 はスペースを示す )
オペランドk:リテラルデータ ( 000(000h) 〜 2047(7FFh) )
実行内容 リテラル値が示す番地へ無条件でジャンプする。
プログラム・カウンタ(PC)の下位11ビットにリテラル値を設定し、上位2ビットにPCLATHレジスタのビット3および4を設定する。
影響フラグ変化無し
命令実行
サイクル
2サイクル


次の命令