
Arduino UNOをインラインアセンブラで爆速Lチカ!標準関数との実行速度・バイナリサイズ徹底比較
要約まとめ
Arduino UNO でインラインアセンブラを使うと、LED 点滅 1 万回が4 msで完了。標準関数では67 ms ― およそ 1/16 の高速化
コンパイルサイズも640 B → 924 Bと 284 B 削減。メモリ節約は地味に効く
asm volatile() ひとつでレジスタ直叩き。レジスタ名・ビット位置は ATmega328P のデータシートで必ず確認
ハードウェア制御・厳密タイミングが必要な場面では「C+インライン ASM」が最後の切り札
ただし可搬性ゼロ。ボードが違えばレジスタも違う ― “高速化の前に保守性” のジレンマも要チェック
ア...