>>768
それだけでなく本当にCだけではできない事があるのが普通だ。CPUにもよるけどね。

何か特定のレジスタに値をセットしないと何かの機能が使えないみたいな場合はCではレジスタの指定をして値をセットすることができないので最低でもその部分だけインラインアセンブラにしたり全部アセンブラで書いたりする(またはそれ用に拡張がされたCコンパイラを使う)。

その他、80系やx86系ってI/Oポートあるが、あれはCからはアクセスできないのでその部分はアセンブラにする。

まあしかしそういうのはほとんどデバイスドライバの中で必要になる事なので普通は一般ユーザは考えなくてもよくなっている。