【あせんぶりげんご】

アセンブリ言語 とは?

公開:
💡 CPUに直接話しかける「機械の母国語」だよ

CPUの命令に近い低水準のプログラミング言語。1命令が機械語のニーモニックに対応する。

📌 このページのポイント
アセンブリ言語の位置づけ 高級言語 x = a + b; (C言語など) アセンブリ言語 MOV, ADD (ニーモニック) 機械語 0110 1010 (CPUが直接実行) 人間が読みやすい CPUが直接読む
アセンブリ言語のイメージ
ひよこ ひよこ
ペンギン先生、アセンブリ言語ってPythonとかと何が違うの?
ペンギン先生 ペンギン先生
PythonはCPUの種類を意識しなくていいけど、アセンブリ言語はCPUの命令に1対1で対応する、すごく低いレベルの言語なんだよ。
ひよこ ひよこ
1対1ってどういうこと?
ペンギン先生 ペンギン先生
例えば「ADD」って書けば、CPUの加算命令がそのまま実行される。命令と機械語がほぼ対応しているんだ。
ひよこ ひよこ
じゃあ今のアプリ開発でも書くことがあるの?
ペンギン先生 ペンギン先生
普段のアプリ開発ではほぼ書かないけど、OSの起動処理や組み込み機器、パフォーマンスが超重要な部分では今でも使われているよ。
ひよこ ひよこ
CPUが変わったら書き直しが必要なの?
ペンギン先生 ペンギン先生
そうなんだ。x86用とARM用ではアセンブリ言語自体が別物になる。だから移植性が低いのが弱点なんだよ。
ひよこ ひよこ
コンパイラとはどう関係してるの?
ペンギン先生 ペンギン先生
C言語などの高級言語はコンパイラが一度アセンブリ言語やLLVMの中間表現に変換してから、最終的な機械語を生成することが多いんだよ。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「アセンブリ言語」って出てきたら「CPUの命令をほぼそのまま書く低レベルな言語」と思えればだいたいOK!
📖 おまけ:英語の意味
「Assembly Language」 = 組み立て言語
💬 機械語の命令を人間が読める記号(ニーモニック)に「アセンブル(組み立て)」することから、この名前がついたんだよ。
← 用語集にもどる