PIC初心者用掲示板

★★ 質問する前に下記をチェック ★★
(PICに関する疑問は必ず解決するはず)
←←←「電子工作の実験室」へ
←←←← 

■最新ツリー一覧

□このツリー付近のツリー一覧

★新規ツリー作成

◆ 9679. インクリメントについて [南十字星2006/02/21 20:09


9679. インクリメントについて [南十字星2006/02/21 20:09
お手数かけますがインクリメントについてどなた様か
教えてください。3バイトのインクリメントです。
アセンブラで2バイトのインクリメントは
incfsz reg2,f   ;下位バイト
goto $+2
incf reg1,f   ;上位バイト
ところが3バイトのインクリメントになると、わかりません。
もう一つ教えていただきたいのですが、インクリメントして、16進数で 1ffff になった時にインクリメントを
止めたいのですがアセンブラではどの様にしたらよいのでしょうか?
宜しくお願いいたします。

9684. Re: インクリメントについて [PICマスター2006/02/21 21:56
えーっと逆質問ですが、どこまで考えました???
もう一歩考えれば答えが出そうなもんですが・・・。

9687. Re: これでいいのかな? [南十字星2006/02/21 22:55
>えーっと逆質問ですが、どこまで考えました???
>もう一歩考えれば答えが出そうなもんですが・・・。
>
3バイトのインクリメントについて
incfsz reg3,f
goto $+4
incfsz reg2,f
goto $+2
incf reg1,f
今、シュミレーションしたら上手く行きました。
1FFFFで止めるにはどのような方法がありますか?
3バイトあるのでわからないのです。
宜しくお願いいたします。

9689. Re: これでいいのかな? [PICマスター2006/02/21 23:04
>1FFFFで止めるにはどのような方法がありますか?
>3バイトあるのでわからないのです。
>宜しくお願いいたします。
良いところまできましたね。
0x1ffffになったら止める・・・というのは、もう1足したら0x20000になるってワケですね。で、最上位バイトがどうなっているかを考えれば答えが出てきそうなものです。

もう一息、頑張りましょう。

9702. Re: ありがとうございます。 [南十字星2006/02/22 21:30
>>1FFFFで止めるにはどのような方法がありますか?
>>3バイトあるのでわからないのです。
>>宜しくお願いいたします。
>良いところまできましたね。
>0x1ffffになったら止める・・・というのは、もう1足したら0x20000になるってワケですね。で、最上位バイトがどうなっているかを考えれば答えが出てきそうなものです。
>
>もう一息、頑張りましょう。

picマスター様  ありがとうございます。
シュミレーションでは失敗ばかりですけど、
なんとなく先が見えてきました。
これからも宜しくお願いいたします。
道筋が分かれば、後は突進するのみです。
本当にありがとうございました。

9718. Re: ありがとうございます。 [PICマスター2006/02/23 22:37
>picマスター様  ありがとうございます。
>シュミレーションでは失敗ばかりですけど、
>なんとなく先が見えてきました。
>これからも宜しくお願いいたします。
>道筋が分かれば、後は突進するのみです。
>本当にありがとうございました。

いきなりプログラムをコーディングするのではなく、紙なりに動きとか流れを書いて頭の中を整理すれば良いですよ。