最終更新:2010-04-10 (土) 17:34:55 (5122d)  

PIC/命令
Top / PIC / 命令

レジスタ

  • f :レジスタファイル?のアドレス
  • W :ワーキングレジスタ?
  • b :ビットの位置(0~7)
  • k :リテラル(定数データ)
  • d :格納先 0 なら W へ格納、1 なら 指定のレジスタファイル?に格納

ステータスレジスタ

バイト処理命令

命令引数機能影響フラグサイクル
ADDWF?f,d加算 W + f → W か f へ格納C,DC,Z1
ANDWF?f,d論理積 W AND f → W か f へ格納Z1
CLRF?ff をゼロクリアZ1
CLRW?W を ゼロクリアZ1
COMF?f,df の0,1反転 → W か fへ格納Z1
DECF?f,df - 1 → W か f へ格納Z1
DECFSZ?f,df - 1 → W か f 結果ゼロなら次命令スキップ 1(2)
INCF?f,df + 1 → W か f へ格納Z1
INCFSZ?f,df + 1 → W か f 結果ゼロなら次命令スキップ 1(2)
IORWF?f,d論理和 W OR f → W か f へ格納Z1
MOVF?f,d移動 f から W または f 自身へ格納Z1
MOVWF?f移動 W から f へ格納 1
NOP何もしない 1
RLF?f,d1ビット左へシフト → W か f へ格納C1
RRF?f,d1ビット右へシフト → W か f へ格納C1
SUBWF?f,d減算 f - W → W か f へ格納C,DC,Z1
SWAPF?f,df の上位と下位を入れ替え → W か f へ格納 1
XORWF?f,d排他的論理和 W XOR f → W か f へ格納Z1

ビット処理命令

命令引数機能影響フラグサイクル
BCF?f,bf の b ビット目をゼロにクリアする 1
BSF?f,bf の b ビット目を1にセットする。 1
BTFSC?f,bf の b ビット目がゼロだったら次命令スキップ 1(2)
BTFSS?f,bf の b ビット目が1だったら次命令スキップ 1(2)

リテラル処理命令

命令引数機能影響フラグサイクル
ADDLW?k定数加算 W + k → W へ格納C,DC,Z1
ANDLW?k定数論理積 W AND k → W へ格納Z1
IORLW?k定数論理和 W OR k → W へ格納Z1
MOVLW?k定数移動 k → W へ格納 1
SUBLW?k定数減算 k - W → W へ格納C,DC,Z1
XORLW?k排他的論理和 W XOR k → W へ格納Z1

ジャンプ命令

命令引数機能影響フラグサイクル
CALLkサブルーチン k へジャンプ 2
GOTO?kk 番地へジャンプ 2
RETFIE?割り込み許可で戻る 2
RETLW?kW に k を格納して戻る 2
RETURN?サブルーチンから戻る 2

命令引数機能影響フラグサイクル
CLRWDT?ウォッチドックタイマクリア 1
SLEEP?スリープモードにする 1

参考