AVR H8 etc. マイコン総合スレ Part2

このエントリーをはてなブックマークに追加
863774ワット発電中さん
アセンブラで困るのは、CPUによって、例えばBCC(キャリークリアでブランチ)の記述が違うことだ。
NOPは、殆ど(というか、例外を知らない)NOPなのに、BCCは、BTFSCとかBRCCとか、
そもそも演算結果が負ならキャリーが立つのか、立たないのか、とかとにかくCPUで
違いすぎ。その点Cなら
if ( val > 4 ){ }
っていう表記で統一される。

逆にCで困るのは、(unsigned char)val みたいに、キャストをちゃんとつけないと、
勝手に符号拡張とかされたり、 volatileをちゃんと入れないと、勝手にループを
省略されたりすることだ。

なかなか これ といった言語が無いんだよねぇ。