シクロフレームで組んだロードバイクに乗ってます。メンテナンスとかサイクリング日記とか。PICマイコンを使った電子工作ネタ、電動ラジコンヘリ、Windowsアプリケーション開発とか気が向いたら何でも乗せる見境なしblog。>1月17PICの減算命令でいまだに混乱するのでカテゴリ:電子工作まとめておこうかなー。何が混乱するかってキャリーフラグです。Cとかキャリーフラグがどうなるか把握してないと書けないような命令しかないので...。把握しとけって事ですね、分かります。最大のミソは、減算命令が減算するというよりWレジスタの2の補数を加算する命令だってことですよね。(他のCPUも同じですが、なんというかPICはモロにそのまんまというイメージ)というわけでまとめを書いてみますが...書くのが楽なのでSUBLWで。Z=1というわけで...。引き算だと考えると一見ボローが発生していない状況でCフラグが立つ。いうのがわかりにくいんだよー。リテラルがFに置き換わるだけで同じ。使うのは、やっぱりFレジスタの内容を加算していって、それがある一定の値を超えたかどうかの判定でしょうか。LOOP1EXITたとえばこんなやつですね。4行目のSUBWFではカウンタ値から30を引くわけです。カウンタ値が小さいうちはボローが発生するのでCフラグが立ちません。(ここが感覚的に逆)カウンタ値が30になるとZフラグとCフラグが立ちます。ラベルEXITへジャンプします。引き算の結果がマイナスになるときだけはキャリーフラグがクリアになるってことでいいのかな。01:34はじめまして。私はほとんどPICしか触らないので苦にならないのですが、減算時のキャリーフラグの挙動が気になる方も多いようですね。擬似命令のMACROを使ってしまうのも1つの手だと思います。ボロー(キャリーの反転)が立つときだけ次の命令をスキップするならこんな感じです。STATUS,CENDMMACROの定義はインクルードファイルにまとめてしまえば、使い回しが楽です。>このblogについてこのblogは、私のホームページ内の日記コンテンツ...でしたが、もう何年もこっちがメインです。ホームページはこちら。ツイートリンクすなけ日記なんて言ったらいいかよく分からないお友達、すなけさんのblog(ぉ自転車メンテとかマニアドリンクとかトラベラーズノートとか。hazimelog湘南のガチムチおにぎり、はじめちゃんのblog。通勤しているアニメ大好きなギタリスト、S木さんのHP。