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) |
|