トップページ
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サイクルとなる |