トップページ
PICの命令一覧
更新日2005.9.2
命令 | オペランド | 意味 | 説明 | 影響する ステータス | サイクル | ||||||
バイト対応のファイルレジスタ命令 | |||||||||||
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 | ||||||
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 | ||||||
XORLW | k | Exclusive OR literal with W | (W) XOR k → (W) | Z | 1 |
|
|
1命令を実行するのに必要なサイクル数 1サイクルは4クロック 1(2)と記述してあるものは、その命令の次の命令を実行する場合は1サイクル、スキップする場合は2サイクルとなる |