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