PIC命令一覧(リテラル処理命令、その他)


【記号説明】
下記説明で使用している記号、略号の意味は下記による。

記号

意味内容

記号

意味内容

レジスタのアドレス

Wreg

ワーキングレジスタ

b

ビットのアドレス(0-7)

k

リテラルデータ(1byte)

x

Don't care(0にしておく)

d

格納先指定(0 or 1)

label

ラベル名

PC

プログラムカウンタ

dest

dと同じ意味

 

 

[ ]

省略可能

( )

内容

< >

レジスタビット位置

 

 



【リテラル処理命令詳細】

【ADDLW】 Wregにリテラルデータを加算する

書式     [label]  ADDLW  k
オペランド  k:リテラルデータ(00〜256)
実行内容   (Wreg)+k → (Wreg)
影響フラグ  C、DC、Z
サイクル   1サイクル
機械語    1 1 1 1 1 x k k k k k k k k
実行内容   Wregの内容に8ビットのリテラルデータ
       を加算し、結果をWregに上書きする。

【ANDLW】 WregとリテラルデータのANDを取る

書式     [label]  ANDLW  k
オペランド   k:リテラルデータ(00〜256)
実行内容   (Wreg).AND.( k ) → (Wreg)
影響フラグ  Z
サイクル   1サイクル
機械語    1 1 1 0 0 1 k k k k k k k k
実行内容   Wregの内容と8ビットのリテラルデータ
       のANDを取り、結果をWregに上書きする。


【IORLW】
 WregとリテラルデータのORを取る

書式     [label]  IORLW  k
オペランド   k:リテラルデータ(00〜256)
実行内容   (Wreg).OR.( k ) → (Wreg)
影響フラグ  Z
サイクル   1サイクル
機械語    1 1 1 0 0 0 k k k k k k k k
実行内容   Wregの内容と8ビットのリテラルデータ
       のORを取り、結果をWregに上書きする。

【MOVLW】 リテラルデータをWregに取り出す

書式     [label]  MOVLW  k
オペランド   k:リテラルデータ(00〜256)
実行内容   ( k ) → (Wreg)
影響フラグ  無し
サイクル   1サイクル
機械語    1 1 0 0 x x k k k k k k k k
実行内容   8ビットのリテラルデータをWregに
       ロードする。


【SUBLW】 リテラルデータからWregを引き算する

書式     [label]  SUBLW  k
オペランド  k:リテラルデータ(00〜256)
実行内容   ( k ) − (Wreg) → (Wreg)
影響フラグ  C、DC、Z
サイクル   1サイクル
機械語    1 1 1 1 0 x k k k k k k k k
実行内容   8ビットのリテラルデータからWregを
       引き算し、結果をWregに上書きする。


【XORLW】 WregとリテラルデータのXORを取る

書式     [label]  XORLW  k
オペランド   k:リテラルデータ(00〜256)
実行内容   (Wreg).XOR.( k ) → (Wreg)
影響フラグ  Z
サイクル   1サイクル
機械語    1 1 1 0 1 0 k k k k k k k k
実行内容   Wregの内容と8ビットのリテラルデータ
       のXORを取り、結果をWregに上書きする。



【コントロール命令】

【CLRWDT】 ウォッチドッグタイマをリセットする

書式     [label]  CLRWDT
オペランド  無し
実行内容   0 → (WDT prescaler)
       1 → TO、 1 → PD
影響フラグ  TO、PD
サイクル   1サイクル
機械語    0 0 0 0 0 0 0 1 1 0 0 1 0 0
実行内容   ウォッチドッグタイマをリセットし、さらに
       連動するプリスケーラもゼロクリアする。
       ステータスビットのTOとPDを1にセット
       する。


【SLEEP】 プロセッサをスリープモードにする

書式     [label]  SLEEP
オペランド   無し
実行内容   0 → WDT
       0 → WDT prescaler
       1 → TO、 0 → PD
影響フラグ  TO、PD
サイクル   1サイクル
機械語    0 0 0 0 0 0 0 1 1 0 0 0 1 1
実行内容   パワーダウンステータスビット(PD)をリセット
       し、タイムアウトステータスビット(TO)をセット
       する。
       さらにウォッチドッグタイマをリセットする。
       その後、オシレータを停止させてプロセッサを
       スリープモードにする。




   次のページへ        目次ページへ