2008.12.04
アセンブラって書いたこと、ある?
アセンブラでプログラミングしよう!
と聞くと最初から全ての処理をアセンブラで記述することを想像するかもしれない、が、さすがにそんなことはあまりない。
私が組込開発でよくやっていたパターンは、まずは C言語(C++)でプログラムを実装し、処理速度は二の次で、正常動作するアプリケーションを作成。
そして、この C で書かれたプログラムをアセンブラで置き換えていく。
どの部分をアセンブラ化していくかというと、負荷がかかっていて単純な処理を繰り返しているところなど、アセンブラ化することで効果が見込まれる所から着手してゆく。
大抵は満足行く処理速度に達したら、そこで終了だ。
つまり…C言語とアセンブラが混在しているプログラムが出来上がるわけである。
このように別の言語(C言語)にアセンブラを埋め込むワザ(?)は「インラインアセンブラ」と呼ばれる。
アセンブラは、gccでコンパイル可能だ。 (more…)