分類 | ニーモニック | オペランド | 説明 | サイクル | フラグ | |||
---|---|---|---|---|---|---|---|---|
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 |