命令 | オペランド | 意味 | 説明 | 影響するステータス | サイクル |
ADDWF | f,d | ADD W and f | (W) + (f) → (d:結果格納先) | C,DC,Z | 1 |
ANDWF | f,d | AND W with f | (W) AND (f) → (d:結果格納先) | Z | 1 |
CLRF | f | Clear f | 00h → (f) ファイルレジスタfの全ビットを0にする | Z | 1 |
CLRW | - | Clear W | 00h → (W) Wの全ビットを0にする | Z | 1 |
COMF | f,d | Compement f | fの全ビットを反転した結果 → (d:結果格納先) | Z | 1 |
DECF | f,d | Decrement f | (f) - 1 → (d:結果格納先) | Z | 1 |
DECFSZ | f,d | Decrement f, Skip if 0 | (f) - 1 → (d:結果格納先)結果が0なら次の命令をスキップ | 1(2) | |
INCF | f,d | Increment f | (f) + 1 → (d:結果格納先) | Z | 1 |
INCFSZ | f,d | Increment f, Skip if 0 | (f) + 1 → (d:結果格納先)結果が0なら次の命令をスキップ | 1(2) | |
IORWF | f,d | Inclusive OR W with f | (W) OR (f) → (d:結果格納先) | Z | 1 |
MOVF | f,d | Move f | (f) → (d:結果格納先) | Z | 1 |
MOVWF | f | Move W to f | (W) → (f) | 1 | |
NOP | - | No Operation | 何もしない | 1 | |
RLF | f,d | Rotate Left through Carry | ファイルレジスタfの下位ビットにCをつなげて、9ビットの状態で1ビット左に回転させる | C | 1 |
RRF | f,d | Rotate Right through Carry | ファイルレジスタfの上位ビットにCをつなげて、9ビットの状態で1ビット右に回転させる | C | 1 |
SUBWF | f,d | Subtract W from f | (f) - (W) → (d:結果格納先) | C,DC,Z | 1 |
(f)=(w) → Z=1,C=1 | |||||
(f)>(w) → Z=0,C=1 | |||||
(f)<(w) → Z=0,C=0 | |||||
SWAPF | f,d | Swap nibbles in f | (ファイルレジスタfの上位4ビットと下位4ビットを入替えた結果) → (d:結果格納先) | 1 | |
XORWF | f,d | Exclusive OR with f | (W) XOR (f) → (d:結果格納先) | Z | 1 |
命令 | オペランド | 意味 | 説明 | 影響するステータス | サイクル |
BCF | f,b | Bit Clear f | 0 → (f<b>) | 1 | |
BSF | f,b | Bit Set f | 1 → (f<b>) | 1 | |
BTFSC | f,b | Bit Test f, Skip if Clear | (f<b>)=0 なら次の命令をスキップ | 1(2) | |
BTFSS | f,b | Bit Test f, Skip if Set | (f<b>)=1 なら次の命令をスキップ | 1(2) |
命令 | オペランド | 意味 | 説明 | 影響するステータス | サイクル |
ADDLW | k | Add literal and W | (W) + k → (W) | C,DC,Z | 1 |
ANDLW | k | AND literal with W | (W) AND k → (W) | Z | 1 |
CALL | k | Call subroutine | サブルーチンをコールする | 2 | |
CLRWDT | - | Clear Watchdog Timer | ウォッチドックタイマをリセットする | TO,PD | 1 |
GOTO | k | Go to address | 指定したアドレス(k)に分岐する | 2 | |
IORLW | k | Indusive OR literal with W | (W) OR k → (W) | Z | 1 |
MOVLW | k | Move literal with W | k → (W) | 1 | |
RETFIE | - | Return from interrupt | 割込みから抜ける | 2 | |
RETURN | - | Return from Subroutine | サブルーチンから戻る | 2 | |
RETLW | k | Return with literal in W | k → (W) そしてサブルーチンから戻る | 2 | |
SLEEP | - | Go into standby mode | SLEEPモードにする | TO,PD | 1 |
SUBLW | k | Subtract W from literal | k - (W) → (W) | C,DC,Z | 1 |
k=(w) → Z=1,C=1 | |||||
k>(w) → Z=0,C=1 | |||||
k<(w) → Z=0,C=0 | |||||
XORLW | k | Exclusive OR literal with W | (W) XOR k → (W) | Z | 1 |
f | ファイルレジスタのアドレス |
値の範囲は、0≦f≦127 | |
d | 結果格納先 |
d=0 (結果は W に格納) | |
d=1 (結果はファイルレジスタ f に格納) | |
b | ファイルレジスタ内のビット位置 |
値の範囲は、0≦b≦7 | |
k | リテラル、定数データまたはラベル |
値の範囲は、0≦k≦255 |
→ | 左の結果を右にセットする |
(f) | ファイルレジスタfの内容 |
(W) | Wの内容 |
+ | 足し算 |
- | 引き算 |
AND | ビットの論理積 |
OR | ビットの論理和 |
XOR | ビットの排他的論理和 |
00h | 全ビット0(1バイト) |
(f<b>) | ファイルレジスタfのb番目のビット |
C | STATUSレジスタのキャリービット |