AVR H8 etc. マイコン総合スレ Part2
アセンブラで困るのは、CPUによって、例えばBCC(キャリークリアでブランチ)の記述が違うことだ。
NOPは、殆ど(というか、例外を知らない)NOPなのに、BCCは、BTFSCとかBRCCとか、
そもそも演算結果が負ならキャリーが立つのか、立たないのか、とかとにかくCPUで
違いすぎ。その点Cなら
if ( val > 4 ){ }
っていう表記で統一される。
逆にCで困るのは、(unsigned char)val みたいに、キャストをちゃんとつけないと、
勝手に符号拡張とかされたり、 volatileをちゃんと入れないと、勝手にループを
省略されたりすることだ。
なかなか これ といった言語が無いんだよねぇ。