| 分類 | ニーモニック | オペランド | 説明 | サイクル | フラグ | |||
|---|---|---|---|---|---|---|---|---|
| Z | DC | C | ||||||
| データ転送 | movf | f,d | fをdに代入 Move f |
1 | ○ | |||
| movlw | k | 値をwに代入 Move literal to w |
1 | |||||
| movwf | f | wをfに代入 Move w to f |
1 | |||||
| clrf | f | fを0にクリア Clear f |
1 | ○ | ||||
| clrw | - | wを0にクリア Clear w |
1 | ○ | ||||
| 算術演算 | addlw | k | wに値を加算 Add literal and w |
1 | ○ | ○ | ○ | |
| addwf | f,d | wにfを加算し Add w and f |
1 | ○ | ○ | ○ | ||
| sublw | k | 値からwを減算 Subtract w from literal |
1 | ○ | ○ | ○ | ||
| subwf | f,d | fからwを減算し Subtract w from f |
1 | ○ | ○ | ○ | ||
| incf | f,d | fを+1 Increment f |
1 | ○ | ||||
| decf | f,d | fを-1 Decrement f |
1 | ○ | ||||
| 論理演算 | andlw | k | 値とwのAND AND literal with w |
1 | ○ | |||
| andwf | f,d | wとfのAND AND w with f |
1 | ○ | ||||
| iorlw | k | 値とwのOR Inclusive OR literal with w |
1 | ○ | ||||
| iorwf | f,d | wとfのOR Inclusive OR w with f |
1 | ○ | ||||
| xorlw | k | 値とwのEXOR Exclusive OR literal with w |
1 | ○ | ||||
| xorwf | f,d | wとfのEXOR Exclusive OR w with f |
1 | ○ | ||||
| comf | f,d | fを反転 Complement f |
1 | ○ | ||||
| ビット操作 | bcf | f,b | fのbビットをクリア Bit Clear f |
1 | ||||
| bsf | f,b | fのbビットをセット Bit Set f |
1 | |||||
| rlf | f,d | fをキャリを含めて左に回す Rotate Left f through Carry |
1 | ○ | ||||
| rrf | f,d | fをキャリを含めて右に回す Rotate Right f through Carry |
1 | ○ | ||||
| swapf | f,d | fの上位と下位を交換 Swap nibbles in f |
1 | |||||
| 分岐 | goto | k | kへ移動 Go to address |
2 | ||||
| call | k | サブルーチンkへ移動 Call subroutine |
2 | |||||
| retlw | k | 値をwに代入して復帰 Return with literal in w |
2 | |||||
| return | - | サブルーチンから復帰 Return from Subroutine |
2 | |||||
| retfie | - | 割り込み処理から復帰 Return from interrupt |
2 | |||||
| 条件分岐 | btfsc | f,b | fのbビットが0ならスキップ Bit Test f, Skip if Clear |
1(2) | ||||
| btfss | f,b | fのbビットが1ならスキップ Bit Test f, Skip if Set |
1(2) | |||||
| incfsz | f,d | fを+1して0ならスキップ Increment f, Skip if zero |
1(2) | |||||
| decfsz | f,d | fを-1して0ならスキップ Decrement f, Skip if zero |
1(2) | |||||
| その他 | nop | - | 何もしない No Operation |
1 | ||||
| clrwdt | - | WDTをクリア Clear Watchdog Timer |
1 | |||||
| sleep | - | スリープモードに移行 Go into standby mode |
1 | |||||
| コード | 説明 | |
|---|---|---|
| f | ファイルレジスタ (File register) を示す7ビットのアドレス値 | |
| d | 転送先 (Destination) を示す1ビット | 0 = w (Working register) |
| 1 = f (File register) | ||
| k | 値。データ値は8ビット、アドレスは12ビット | |
| コード | 説明 | ||
|---|---|---|---|
| Z | ゼロビット (Zero bit) | 計算またはロジックの演算の結果 | 1 = ゼロ |
| 0 = ゼロではない | |||
| DC | デジットキャリー (Digit Carry) | 下位4ビット目からのキャリー | 1 = 発生した |
| 0 = 発生しなかった | |||
| C | キャリー (Carry) | 最上位ビットからのキャリー | 1 = 発生した |
| 0 = 発生しなかった | |||
PIC16Fxx 命令セット一覧表 (PDF形式)
| ニーモニック | 説明 | 同等の操作 |
|---|---|---|
| ADDCF f,d | Add Carry to File |
BTFSC 3,0 INCF f,d |
| ADDDCF f,d | Add Digit Carry to File |
BTFSC 3,1 INCF f,d |
| B k | Branch |
GOTO k |
| BC k | Branch on Carry |
BTFSC 3,0 GOTO k |
| BDC k | Branch on Digit Carry |
BTFSC 3,1 GOTO k |
| BNC k | Branch on No Carry |
BTFSS 3,0 GOTO k |
| BNDC k | Branch on No Digit Carry |
BTFSS 3,1 GOTO k |
| BNZ k | Branch on No Zero |
BTFSS 3,2 GOTO k |
| BZ k | Branch on Zero |
BTFSC 3,2 GOTO k |
| CLRC | Clear Carry |
BCF 3,0 |
| CLRDC | Clear Digit Carry |
BCF 3,1 |
| CLRZ | Clear Zero |
BCF 3,2 |
| LCALL k | Long Call |
BCF/BSF 0x0A,3 BCF/BSF 0x0A,4 CALL k |
| LGOTO k | Long GOTO |
BCF/BSF 0x0A,3 BCF/BSF 0x0A,4 GOTO k |
| MOVFW f | Move File to W |
MOVF f,0 |
| NEGF f,d | Negate File |
COMF f,1 INCF f,d |
| SETC | Set Carry |
BSF 3,0 |
| SETDC | Set Digit Carry |
BSF 3,1 |
| SETZ | Set Zero |
BSF 3,2 |
| SKPC | Skip on Carry |
BTFSS 3,0 |
| SKPDC | Skip on Digit Carry |
BTFSS 3,1 |
| SKPNC | Skip on No Carry |
BTFSC 3,0 |
| SKPNDC | Skip on No Digit Carry |
BTFSC 3,1 |
| SKPNZ | Skip on Non Zero |
BTFSC 3,2 |
| SKPZ | Skip on Zero |
BTFSS 3,2 |
| SUBCF f,d | Subtract Carry from File |
BTFSC 3,0 DECF f,d |
| SUBDCF f,d | Subtract Digit Carry from File |
BTFSC 3,1 DECF f,d |
| TSTF f | Test File |
MOVF f,1 |