【記号説明】
下記説明で使用している記号、略号の意味は下記による。
記号 |
意味内容 |
記号 |
意味内容 |
f |
レジスタのアドレス |
Wreg |
ワーキングレジスタ |
b |
ビットのアドレス(0-7) |
k |
リテラルデータ(1byte) |
x |
Don't care(0にしておく) |
d |
格納先指定(0 or 1) |
label |
ラベル名 |
PC |
プログラムカウンタ |
dest |
dと同じ意味 |
|
|
[ ] |
省略可能 |
( ) |
内容 |
< > |
レジスタビット位置 |
|
書式 [label] BCF f,b
オペランド f:レジスタアドレス(00〜127)
b:ビット指定(0〜7)
実行内容 0 → f <b>
影響フラグ 無し
サイクル 1サイクル
機械語 0 0 0 0 b b b f f f f f f f
実行内容 fレジスタの第bビット目を0にする。
フラグの変化はない。
【BSF】 f レジスタの指定ビットを1にする
書式 [label] BSF f,b
オペランド f:レジスタアドレス(00〜127)
b:ビット指定(0〜7)
実行内容 1 → f <b>
影響フラグ 無し
サイクル 1サイクル
機械語 0 0 0 1 b b b f f f f f f f
実行内容 fレジスタの第bビット目を1にする。
フラグの変化はない。
【BTFSC】 f レジスタの第bビット目が0だったらスキップ
書式 [label] BTFSC f,b
オペランド f:レジスタアドレス(00〜127)
b:ビット指定(0〜7)
実行内容 skip if ( f <b>) = 0
影響フラグ 無し
サイクル 1サイクル、スキップするときは2サイクル
機械語 0 1 1 0 b b b f f f f f f f
実行内容 fレジスタの第bビット目が0だったら、次の
命令をNOPに変えて実行する。(スキップ)
従ってスキップ時は2サイクル命令になる。
【BTFSS】 f レジスタの第bビット目が1だったらスキップ
書式 [label] BTFSS f,b
オペランド f:レジスタアドレス(00〜127)
b:ビット指定(0〜7)
実行内容 skip if ( f <b>) = 1
影響フラグ 無し
サイクル 1サイクル、スキップするときは2サイクル
機械語 0 1 1 1 b b b f f f f f f f
実行内容 fレジスタの第bビット目が1だったら、次の
命令をNOPに変えて実行する。(スキップ)
従ってスキップ時は2サイクル命令になる。