PIC 26:比較動作の確認


比較動作の確認

 先日プログラムを作っている時、分岐プログラムで少し混乱をしていました。あまり理解してないのでこの機会に実験をしておこうとシュミレータを作動させ、動作をチエックしました。

そんなに大げさではないのですが「勘違いで作動しない、のを何回もしていてはまずい!」ので少し書き出してみました。

☆ Wとレジスタが同じ時は[Z]フラッグが立つ。
☆ Wが小さい時は[C]フラッグが立つ。
☆ Wが大きい時は[C]フラッグは立たない。

 たったこれだけだが、間違うと酷いことになる!
 プログラム的には[F-Wが実行]され、結果は[F又はWに移される](表では"SUBWF to W"とした)。

 普通はZフラッグのチエックで良いのだがCフラッグを使うと便利な時がある。
 Cフラッグは「あまり変更されないフラッグ」なので、少し離れたプログラムでもCフラッグが残っていて利用出来る事がある。例えば、ADD・SUBやRRF・RLFのコマンド以外は変化しないのでこれを避ければ、忘れた頃にも使える!

2007/MAY/12

- 比較の時変化するフラッグ -
F(Register)WSUBWF to WC(Flag)Z(Flag)
97210
87110
77011
6725500
5725400

[もどる]もどる  [MAIN MENU

inserted by FC2 system