トップページ

PICの命令一覧

更新日2005.9.2

命令オペランド意味説明影響する
ステータス
サイクル
バイト対応のファイルレジスタ命令
ADDWFf,dADD W and f(W) + (f) → (d:結果格納先)C,DC,Z1
ANDWFf,dAND W with f(W) AND (f) → (d:結果格納先)Z1
CLRFfClear f00h → (f) ファイルレジスタfの全ビットを0にするZ1
CLRW-Clear W00h → (W) Wの全ビットを0にするZ1
COMFf,dCompement ffの全ビットを反転した結果 → (d:結果格納先)Z1
DECFf,dDecrement f(f) - 1 → (d:結果格納先)Z1
DECFSZf,dDecrement f, Skip if 0(f) - 1 → (d:結果格納先)
結果が0なら次の命令をスキップ
1(2)
INCFf,dIncrement f(f) + 1 → (d:結果格納先)Z1
INCFSZf,dIncrement f, Skip if 0(f) + 1 → (d:結果格納先)
結果が0なら次の命令をスキップ
1(2)
IORWFf,dInclusive OR W with f(W) OR (f) → (d:結果格納先)Z1
MOVFf,dMove f(f) → (d:結果格納先)Z1
MOVWFfMove W to f(W) → (f)1
NOP-No Operation何もしない1
RLFf,dRotate Left through Carryファイルレジスタfの上位ビットにCをつなげて、9ビットの状態で1ビット左に回転させるC1
RRFf,dRotate Right through Carryファイルレジスタfの上位ビットにCをつなげて、9ビットの状態で1ビット右に回転させるC1
SUBWFf,dSubtract W from f (f) - (W) → (d:結果格納先)
実行結果で設定されるステータスレジスタ
(f)=(w)Z=1,C=1
(f)>(w)Z=0,C=1
(f)<(w)Z=0,C=0
C,DC,Z1
SWAPFf,dSwap nibbles in f(ファイルレジスタfの上位4ビットと下位4ビットを入替えた結果) → (d:結果格納先)1
XORWFf,dExclusive OR with f(W) XOR (f) → (d:結果格納先)Z1
ビット対応のファイルレジスタ命令
BCFf,bBit Clear f0 → (f<b>)1
BSFf,bBit Set f1 → (f<b>)1
BTFSCf,bBit Test f, Skip if Clear(f<b>)=0 なら次の命令をスキップ1(2)
BTFSSf,bBit Test f, Skip if Set(f<b>)=1 なら次の命令をスキップ1(2)
リテラルおよびコントロール命令
ADDLWkAdd literal and W(W) + k → (W)C,DC,Z1
ANDLWkAND literal with W(W) AND k → (W)Z1
CALLkCall subroutineサブルーチンをコールする2
CLRWDT-Clear Watchdog TimerウォッチドックタイマをリセットするTO,PD1
GOTOkGo to address指定したアドレス(k)に分岐する2
IORLWkIndusive OR literal with W(W) OR k → (W)Z1
MOVLWkMove literal with Wk → (W)1
RETFIE-Return from interrupt割込みから抜ける2
RETURN-Return from Subroutineサブルーチンから戻る2
RETLWkReturn with literal in Wk → (W)
そしてサブルーチンから戻る
2
SLEEP-Go into standby modeSLEEPモードにするTO,PD1
SUBLWkSubtract W from literal k - (W) → (W)
実行結果で設定されるステータスレジスタ
k=(w)Z=1,C=1
k>(w)Z=0,C=1
k<(w)Z=0,C=0
C,DC,Z1
XORLWkExclusive OR literal with W(W) XOR k → (W)Z1

オペランドの記号の意味
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番目のビット
CSTATUSレジスタのキャリービット
サイクル 1命令を実行するのに必要なサイクル数
1サイクルは4クロック
1(2)と記述してあるものは、その命令の次の命令を実行する場合は1サイクル、スキップする場合は2サイクルとなる