簡単なアセンブラでの条件分岐
PICマイコン(Peripheral Interface Controller)のためのプログラムをアセンブラで書いていくとき、どうすれば条件分岐ができるのか最初はとまどいます。
まずは基本的なものを書いてみます。
条件分岐の発展系はこちらから
C言語などで、
if( TEST_VAR == 10 ) {
//何かの処理
}
などというようなことをアセンブラしたい場合はどのようにすればよいのでしょうか?
※変数TEST_VARが10かどうかで処理を変えたいときはどうすればよいのか
TEST_VAR = 10 ということは、 TEST_VAR - 10 = 0
ということなので、10をひいて、その値が0かがわかればどうにかできます。
これはPICのゼロフラグ(Z)をチェックすることによって解決できます。
今回のプログラムでは、TEST_VARが10かどうかで、ポートBの出力が 変わるようになっています。
よって、ポートにLEDでもつないでおけば確認がしやすいでしょう。
まずは基本的なものを書いてみます。
条件分岐の発展系はこちらから
C言語などで、
if( TEST_VAR == 10 ) {
//何かの処理
}
などというようなことをアセンブラしたい場合はどのようにすればよいのでしょうか?
※変数TEST_VARが10かどうかで処理を変えたいときはどうすればよいのか
TEST_VAR = 10 ということは、 TEST_VAR - 10 = 0
ということなので、10をひいて、その値が0かがわかればどうにかできます。
これはPICのゼロフラグ(Z)をチェックすることによって解決できます。
今回のプログラムでは、TEST_VARが10かどうかで、ポートBの出力が 変わるようになっています。
よって、ポートにLEDでもつないでおけば確認がしやすいでしょう。