PICの命令一覧
Home

PICの命令一覧
これである程度の準備はできたのでまずはPICのコマンドを一気見しよう!

出てくる表現
Wレジスタ:PICが自由に使える短期記憶領域みたいなもの。
レジスタ:STATUSとかTRISBとかPORTBといったもの


ADDWF f, d
機能:W + f → W(d=0), f(d=1)
オペコード: 00 1111 dfff ffff

ANDWF f, d
機能:W and f → W(d=0), f(d=1)
オペコード: 00 0101 dfff ffff

CLRF f
機能:f = 0
オペコード: 00 0001 1fff ffff

CLRW
機能:W = 0
オペコード: 00 0001 0xxx xxxx

COMF f, d
機能:レジスタfの中身をビット反転 → W(d=0), f(d=1)
オペコード: 00 1001 dfff ffff

DECF f,d
機能:f - 1 → W(d=0), f(d=1)
オペコード: 00 0011 dfff ffff

DECFSZ f, d
機能:f - 1 → W(d=0), f(d=1) 結果がゼロになったら次の命令をNOPとして扱う。
オペコード: 00 1011 dfff ffff

INCF f, d
機能:f + 1 → W(d=0), f(d=1)
オペコード: 00 1010 dfff ffff

INCFSZ f, d
機能:f + 1 → W(d=0), f(d=1) 結果がゼロになったら次の命令をNOPとして扱う。
オペコード: 00 1111 dfff ffff

IORWF f, d
機能:W or f → W(d=0), f(d=1)
オペコード: 00 0100 dfff ffff

MOVF f, d
機能:f → W(d=0), f(d=1)
オペコード: 00 1000 dfff ffff

MOVWF f
機能:f → W
オペコード: 00 0000 1fff ffff

NOP
機能:何もしない
オペコード: 00 0000 0xx0 0000

RLF f, d
機能:レジスタfを左シフト、7ビット目をCフラグ、Cフラグを0ビット目へ移動
オペコード: 00 1101 dfff ffff

RRF f, d
機能:レジスタfを右シフト、Cフラグを7ビット目、0ビット目をCフラグへ移動
オペコード: 00 1100 dfff ffff

SUBWF f, d
機能:f - W → W(d=0), f(d=1)
オペコード: 00 0010 dfff ffff

SWAPF f, d
機能:<3:0> → <7:4>, <7:4> → <3:0>, d=0なら移動先はWレジスタd=1ならfレジスタ
オペコード: 00 1110 dfff ffff

XORWF f, d
機能:W xor f → W(d=0), f(d=1)
オペコード: 00 0110 dfff ffff

BCF f, b
機能:f<b> = 0
オペコード: 01 00bb bfff ffff

BSF f, b
機能:f<b> = 1
オペコード: 01 01bb bfff ffff

BTFSC f, b
機能:f<b>=0なら次の命令をスキップ
オペコード: 01 10bb bfff ffff

BTFSS f, b
機能:f<b>=1なら次の命令をスキップ
オペコード: 01 11bb bfff ffff

ADDLW k
機能:Wレジスタとリテラルkの和をとってWレジスタに収める
オペコード: 11 111x kkkk kkkk

ANDLW k
機能:WレジスタとリテラルkのANDをとってWレジスタに収める
オペコード: 11 1001 kkkk kkkk

CALL k
機能:アドレスkにあるサブルーチンを呼び出す。
オペコード: 10 0kkk kkkk kkkk

CLRWDT
機能:WDTのクリア
オペコード: 00 0000 0110 0100

GOTO k
機能:アドレスkに飛ぶ
オペコード: 10 1kkk kkkk kkkk

IORLW k
機能:W or k → W
オペコード: 11 1000 kkkk kkkk

MOVLW k
機能:k → W
オペコード: 11 00xx kkkk kkkk

RETFIE
機能:割り込みからの復帰
オペコード: 00 0000 0000 1001

RETLW k
機能:k - W → W
オペコード: 11 01xx kkkk kkkk

RETURN
機能:CALLされた時点に戻る
オペコード: 00 0000 0000 1000

SLEEP
機能:スリープする
オペコード: 00 0000 0110 0011

SUBLW k
機能:k - W → W
オペコード: 11 110x kkkk kkkk

XORLW k
機能:WレジスタとリテラルkのXORを取る。結果をWレジスタに収める。
オペコード: 11 1010 kkkk kkkk