マシン語は0/1のパターンなので、人間には非常に使い難いです。そこで、マシン語とほぼ1対1に対応するニーモニックという言葉を使い、プログラムを作ります。このニーモニックを用いた言語をアセンブリ言語と言います。
例えば、先ほどの「レジスタ8の値と1を加算して、再びレジスタ8に格納する」で、最初の[1111 0001]は加算を表すのでADD.Wという名前を付けます。これがニーモニックです。そして汎用レジスタ8はR8で表します。そして、加算する数は#1で表します(一般的に10進数の数字を表す場合は、#が使われます)。これらをまとめると「レジスタ8の値と1を加算して、再びレジスタ8に格納する」はADD.W R8 R8 #1というように書けます(図2参照)。 これをアセンブリ言語と呼びます。
Cortex-M3の場合、四則演算には、ADD(加算)、SUB(減算)、MUL(乗算)、SDIV(除算)などがあります。また、論理演算には、AND(論理積)、ORR(論理和)、EOR(排他的論理)などがあります。プログラム上で、ジャンプする命令には、無条件分岐のB.Wやリンク付き分岐のBLなどがあり、何も実行しない無操作命令としてNOP(No operationの略)というのも存在します。
ニーモニック(命令)の部分をオペレーションコード(略してオペコード)と呼びます。
それに続くアドレス値やデータ値の部分をオペレーションランド(略してオペランド)と呼びます。そして、アセンブリ言語からマシン語に変換することをアセンブルと呼びます。
Copyright © ITmedia, Inc. All Rights Reserved.