PICで複合演算できたのね。

PICで複合演算できたのね。

以前、PICで複合演算が使えないというエントリーを書いた。
ところがだ、それが間違いたったことに今日気付いた。

なぜ、そういう「アフォー」な間違いをしたかというと、複合演算をすると、HI-TECH Cでコンパイルした際、ROM容量が肥大化するらしく、たまたまROM容量の小さなマイコンを使ったために、エラーとなってしまうからだ。
MPLABのメモリーゲージをみたので、このことに気付いたってわけ。

それで、色々やって見たのだけれど、複合演算した方がメモリーのサイズが小さくなるケースもあるようで、肥大化はどうも、HI-TECH Cのコンパイラなどが最適化できないために起こったのではないかと思われる。

有償でも比較的お安いSourceBoostの方がいいのかも。
SourceBoostであれば最適化できるものね。
以前、似たようなプログラムを組んだ際、最適化ができないHI-TECH Cよりも最適化できるSourceBoostの方がメモリーサイズが小さくできたなんてこともあるから。

ただ、SourceBoostでは、dsPICのプログラムが使えないのが残念な所。