目次PIC入門


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



命令一覧

RRFf レジスタ の内容を右にシフト
書式[label]RRFf, d( label は省略可 はスペースを示す )
オペランド f:ファイル・レジスタのアドレス ( 00(00h) 〜 127(7Fh) )
d:結果格納先 ( 0 または 1 )
実行内容 f レジスタの内容をキャリービットも含めて1ビット右に移動する。
d = 0 なら結果をWレジスタに上書きする。
d = 1 なら結果を f レジスタに上書きする。
影響フラグf レジスタの最下位ビットをCに設定
命令実行
サイクル
1サイクル


SLEEPスリープモード設定
書式[label]SLEEP( label は省略可 はスペースを示す )
オペランド無し
実行内容 クロック発振器を停止してプロセッサをスリープモードにする。

プリスケーラをウォッチドッグタイマーに使用している場合は、プリスケーラもリセットする。
影響フラグTOに 1 を設定し、PDに 0 を設定する。
命令実行
サイクル
1サイクル


SUBLWリテラルデータからWレジスタの内容を減算
書式[label]SUBLWk( label は省略可 はスペースを示す )
オペランドk:リテラルデータ ( 00(00h) 〜 255(FFh) )
実行内容 リテラルデータからWレジスタの内容の減算を実行する。
実際の演算はWレジスタの内容を2の補数にして、リテラルデータと加算する。
( 例 )
影響フラグ 結果が正の場合、C=1、Z=0
結果が 0 の場合、C=1、Z= 1
結果が負の場合、C=0、Z=0
命令実行
サイクル
1サイクル


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


次の命令