アセンブリ言語

組み込みソフトウェアの開発を行う場合、ほぼほぼC言語だけで作れる時代にはなっているけれど、いざとゆうときに活躍するのがアセンブリ言語です。アセンブラーと呼ぶ人もいるけれど、アセンブリ言語で書いたプログラムをアセンブルするのがアセンブラだと思うので、言語としてはアセンブリ言語と呼ぶことにします。

CPUというのは機械語しか理解できません。人間が機械語を理解するのはとても大変です。お互い理解し合えないけど、お互いちょっとずつ歩み寄ろうよ、というのがアセンブリ言語です。機械語とアセンブリ言語は一対一の対応があって、単純な変換表で変換ができます。

パソコン分野ではいまだに主力のx86系は、歴史が長すぎるからなのか、互換性を大事にしすぎたからなのか、とにかく素直さはないと思います。16bit CPUだったIntel 8086から拡張に拡張を重ねてCore i9が出た今になってもいまだにx86系。Core i9のアーキテクチャを学ぼうというのは、歴史を一緒に学ばないといけなくなってハードルが高いです。

扱ったことのあるCPUでいうと、TIのMSP430は、16bitだし命令セットもわりとわかりやすく、しかもMAC命令とかあったりしてアセンブリ言語で書いたら何倍も高速になる可能性を秘めていたりして、学びがいがあると思います。

TI MSP430 - Wikipedia

CPUの性能をフルに発揮するために必要なアセンブリ言語、一度学んでみてはいかがでしょうか。いつかサンプルを載せようと思います。

コメント