アセンブリ言語

アセンブリ言語は、特定の種類のプロセッサ向けに設計された低水準のプログラミング言語です。高水準プログラミング言語(C/C++など)のソースコードをコンパイルして生成できますが、最初から記述することもできます。アセンブリコードは、アセンブラーを使ってマシンコードに変換できます。

ほとんどのコンパイラーソースコードを直接マシンコードに変換するため、ソフトウェア開発者はアセンブリ言語を使わずにプログラムを作成することがよくあります。ただし、場合によっては、プログラムを細かく調整するためにアセンブリコードを使用できます。たとえば、プログラマーは、特定のプロセスができるだけ効率的に動作するように、アセンブリ言語でそのプロセスを記述することがあります。

アセンブリ言語はプロセッサアーキテクチャによって異なりますが、似たような命令や演算子が含まれていることがよくあります。以下は、x86プロセッサでサポートされる命令の例です。

  • MOV - ある場所から別の場所へデータを移動する
  • ADD - 2つの値を加算する
  • SUB - ある値から別の値を減算する
  • PUSH - データをスタックにプッシュする
  • POP - スタックからデータをポップする
  • JMP - 別の場所へジャンプする
  • INT - プロセスを中断する

次のアセンブリ言語を使うと、3と4の数値を加算できます。

mov eax, 3 - 3をレジスター「eax」に読み込む
mov ebx, 4 - 4をレジスター「ebx」に読み込む
add eax, ebx, ecx - 「eax」と「ebx」を加算し、結果(7)を「ecx」に格納する

アセンブリ言語の記述は、各操作を非常に基本的なレベルで実行する必要があるため、面倒な作業です。コンピュータープログラムの作成にアセンブリコードを使う必要はないかもしれませんが、プロセッサの動作方法について有用な理解が得られるため、アセンブリ言語の学習はコンピューターサイエンスのカリキュラムの一部になっていることがよくあります。

更新日 September 5, 2014 著者: Per C.

quiz知識をテストする

What action does a hash function perform?

A
It converts one value to another
0%
B
It separates one value into multiple ones
0%
C
It combines multiple values into a single one
0%
D
It destroys a value by overwriting it with random data
0%
Correct! Incorrect!     View the Hash definition.
More Quizzes →

Tech Terms コンピューター辞書

このページのアセンブリ言語の定義は、TechTerms.comの著者が執筆したオリジナルの定義です。このページを参照または引用する場合は、定義の直下にある緑色の引用バーをご利用ください。

私たちの目標は、コンピューター用語をわかりやすく説明することです。すべての定義において正確さとわかりやすさを追求しています。フィードバックや新しい技術用語の提案がある場合は、お問い合わせください

Tech Terms ニュースレター

毎日または毎週のニュースレターで技術知識を高めましょう!今すぐ購読して、新しい用語やクイズをメールでお受け取りください。

無料のTechTermsニュースレターに登録する

メールの受信頻度を選択してください

各メールのリンクから、いつでも登録解除または頻度変更ができます。 ご質問はこちらからお問い合わせください。

注意:ニュースレターは英語で配信されます。