PICで良いプログラムを書くのは、
まるでパズルを解くようなモノですね。
で、それをうまくやるマクロを書くのが、
また面白い。
たとえば、こんなのとか。
xorwf SRC,WこれでSRCからDSTへのコピーができます。
movwf DST
xorwf SRC,W
xorwf DST,F
このとき、Wを経由して処理しているにもかかわらず、
結局Wの内容は変化しない、というのがミソ。
したがって、Wの値を保持しておく必要がある場合でも使えます。
必要な命令数は、普通にWを退避してコピーするのと同じですが、
この方法だと退避先の心配をしなくて良いので便利です。
コピー元がリテラルの場合も同様。
xorlw DATAリテラルを2回使いますが、マクロ化すれば特に問題ないでしょう。
movwf DST
xorlw DATA
xorwf DST,F
というか、マクロ化しないと読みにくくてしょうがないですね。
0 件のコメント:
コメントを投稿