検索
連載

マイコンにも言語力が必要!?マイコン入門!! 必携用語集(7)(3/4 ページ)

マイコンが実行する命令はROMなどのメモリの中に0/1のパターンで格納されています。しかし、0/1のパターンではユーザーが何の命令なのか分かり難く、不便です。そこで、0/1のパターンに言葉を定義して、ユーザーはその言葉を使ってプログラムを作ります。その言葉を“プログラム言語”と呼んでいます。言い換えると、ユーザーはプログラム言語をマスターしていないと、マイコンのプログラムを作れないことになります。プログラム言語にはいくつか種類があります。今回は、それらを説明します。

PC用表示 関連情報
Share
Tweet
LINE
Hatena

アセンブリ言語(ニーモニック)

 マシン語は0/1のパターンなので、人間には非常に使い難いです。そこで、マシン語とほぼ1対1に対応するニーモニックという言葉を使い、プログラムを作ります。このニーモニックを用いた言語をアセンブリ言語と言います。

 例えば、先ほどの「レジスタ8の値と1を加算して、再びレジスタ8に格納する」で、最初の[1111 0001]は加算を表すのでADD.Wという名前を付けます。これがニーモニックです。そして汎用レジスタ8はR8で表します。そして、加算する数は#1で表します(一般的に10進数の数字を表す場合は、#が使われます)。これらをまとめると「レジスタ8の値と1を加算して、再びレジスタ8に格納する」はADD.W R8 R8 #1というように書けます(図2参照)。 これをアセンブリ言語と呼びます。


【図2】アセンブリ言語の例 (クリックで拡大)

 Cortex-M3の場合、四則演算には、ADD(加算)、SUB(減算)、MUL(乗算)、SDIV(除算)などがあります。また、論理演算には、AND(論理積)、ORR(論理和)、EOR(排他的論理)などがあります。プログラム上で、ジャンプする命令には、無条件分岐のB.Wやリンク付き分岐のBLなどがあり、何も実行しない無操作命令としてNOP(No operationの略)というのも存在します。

 ニーモニック(命令)の部分をオペレーションコード(略してオペコード)と呼びます。

それに続くアドレス値やデータ値の部分をオペレーションランド(略してオペランド)と呼びます。そして、アセンブリ言語からマシン語に変換することをアセンブルと呼びます。

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る