|
PIC16シリーズはRISC(Reduced Instruction Set Computer)方式を採用しており、使用する命令の数は35種類です。
各命令のニーモニックをクリックすると、命令仕様にジャンプします。
| 用語説明 |
| ニーモニック (Mnemonic) | : 命令コードを分かり易くしたアッセンブラ言語 |
| オペランド (Operands) | : 命令コード以外の指定部分 |
| MSb (Most Significant bit) | : 最上位ビット |
| LSb (Least Significant bit) | : 最下位ビット |
| フラッグ | : STAUSレジスタのフィールド |

|
ニーモニック
オペランド | 動作説明 | 命令コード | フラッグ |
 |
| バイト処理命令 |
| ADDWF | f, d | f レジスタ と Wレジスタ の内容を加算する |  | C, DC, Z |
| ANDWF | f, d | f レジスタ と Wレジスタ の内容をAND演算する |  | Z |
| CLRF | f | f レジスタをクリアする |  | Z |
| CLRW | - | Wレジスタをクリアする |  | Z |
| COMF | f, d | f レジスタの0と1を反転する |  | Z |
| DECF | f, d | f レジスタの内容から 1 を減算する |  | Z |
| DECFSZ | f, d |
f レジスタの内容から 1 を減算する
結果が 0 なら次の命令をスキップする |  |
|
| INCF | f, d | f レジスタの内容に 1 を加算する |  | Z |
| INCFSZ | f, d |
f レジスタの内容に 1 を加算する
結果が 0 なら次の命令をスキップする |  |
|
| IORWF | f, d | f レジスタ と Wレジスタ の内容をOR演算する |  | Z |
| MOVF | f, d | f レジスタの内容をWレジスタまたはf レジスタに移動(コピー)する |  | Z |
| MOVWF | f | Wレジスタの内容を f レジスタに移動(コピー)する |  |
|
| NOP | - | 何もしない |  |
|
| RLF | f, d | f レジスタの内容を左にシフトする |  | C |
| RRF | f, d | f レジスタの内容を右にシフトする |  | C |
| SUBWF | f, d | f レジスタからWレジスタの内容を減算する |  | C, DC, Z |
| SWAPF | f, d | f レジスタの上位4ビットと下位4ビットを入れ替える |  |
|
| XORWF | f, d | f レジスタとWレジスタの内容をエクスクルーシブOR演算する |  | Z |
| ビット処理命令 |
| BCF | f, b | f レジスタの指定ビットを 0 にする |  |
|
| BSF | f, b | f レジスタの指定ビットを 1 にする |  |
|
| BTFSC | f, b | f レジスタの指定ビットが 0 なら次の命令をスキップする |  |
|
| BTFSS | f, b | f レジスタの指定ビットが 1 なら次の命令をスキップする |  |
|
| リテラル処理命令 |
| ADDLW | k | リテラルデータとWレジスタの内容を加算する |  | C, DC, Z |
| ANDLW | k | リテラルデータとWレジスタの内容をAND演算する |  | Z |
| CALL | k | サブルーチンへジャンプする |  |
|
| CLRWDT | - | ウォッチドッグタイマーをリセットする |  |  |
| GOTO | k | k番地へジャンプする |  |
|
| IORLW | k | リテラルデータとWレジスタの内容をOR演算する |  | Z |
| MOVLW | k | リテラルデータをWレジスタにセットする |  |
|
| RETFIE | - | 割り込み処理から復帰する |  |
|
| RETLW | k | リテラルデータをWレジスタにセットしてサブルーチンから戻る |  |
|
| RETURN | - | サブルーチンから戻る |  |
|
| SLEEP | - | スリープモードにする |  |  |
| SUBLW | k | リテラルデータからWレジスタの内容を減算する |  | C, DC, Z |
| XORLW | k | リテラルデータとWレジスタの内容をXOR演算する |  | Z |
x : 0,1どちらでも良い(Don't care) |
 |