top of page
  • ahedgehogchase

Lesson 8. 組み込みプログラミング §13. アセンブリ言語(hex file)

プログラミング言語

hex file さて、僕たちはプログラムのセクションまでたどり着いたわけだ。 これは、一番低いレベルでは、 このような見た目(hex file のものだ。

ここで、 インストラクションセット を見てみよう。 これらはプロセッサのインストラクションだ。各々のインストラクションはコードで、たとえば「ふたつの数を加える」というような操作を行う。 そして、このプロセッサに対しては、これがデータシートだ。各々のインストラクションについて書かれたAtmel社のドキュメントだ。 各々のインストラクションを拾い読みしてみると、このデータシートは、各々のコードが何であるかということと、その役割を教えてくれる。 しかし、いかに他の何をしようとも、最終的にはこれ(アセンブリ言語)が実行されることになる。これらはプロセッサが理解できるコードだ。これを手書きする人間はいない。 もし、そうすることができるようになりたいのであれば、これをプログラマにロードすれば良い。これは hex file と呼ばれるものだ。そして、このhex fileはインストラクションを用いる。君たちはこれらのインストラクションをファイルに書くことができるんだ。

 

アセンブリ言語 これらは2つのアセンブラ( gavrasm , avr-as )だ。 そして、アセンブリ言語プログラミングにおいては、君たちが行うべきことはコードを正しく書くことだ。そして、変数に名前をつけることでそれは簡単になる。 かつて、これらのプロセッサをプログラミングするためには、君たちはアセンブリ言語を使わなくちゃいけなかった。 しかし、今やそんな事をやろうとする者はほとんど誰もいない。 なぜならば、それは非常に下層のレベルにあるものだからだ、だからといって、それはそれほどハードなことじゃない。 そして、こいつの良いところは、完全なるコントロールを与えてくれることだ。典型的な例を挙げよう。もしも君たちが本当にパフォーマンスの限界値を使わなきゃならない局面で、アセンブリ言語を手書きしてやるという手を使えば良いんだ。 とは言っても、ほとんど誰もそんなことしやしない。なぜならば、コンパイラが相当イケてるからね。 だから、僕は君たちにいくつかアセンブリ言語の例をお見せするけれども、君たちがこれらを使うことはないだろうね。

つづく 講義の目次は 【和訳版】FabAcademy 2016 からご覧ください。 ※この記事は FabAcademy 2016 におけるニール・ガーシェンフェルド教授(MIT)による講義動画をもとに作成しました。正確な訳ではないので間違っていたら指摘いただけるとありがたいです。

閲覧数:4回0件のコメント

最新記事

すべて表示

Lesson 13. 出力デバイス §4. LEDマトリックス

●LEDマトリックス 次に紹介するのはLEDマトリックスだ。 動作しているのを見てみると、ディスプレイの一部分が表示されているのが見えるだろ? 僕はディスプレイの一部分を用いてラスタリング(画像を色のついた格子状のドットで表現すること)を行なっているんだ。 ●Charlieplexing これは便利な技で、Charlieplexingと呼ばれる。 このLEDは大量購入すると6セント

Lesson 13. 出力デバイス §3. 調光LED

●調光LED さあ、ここから僕は多くのデバイスを紹介していこう。 最初に紹介するのは、色調を変化させることのできるLEDだ。色を周期的に変えることができるんだ。 これが、その部品だ。 この部品には赤と緑の、青のLEDが1つのパッケージに含まれている。大量購入すれば、40セントで買うことができる。これらはスタジアムとかにある巨大なディスプレイに用いられていて、これがスタジアムでは1ピク

Lesson 13. 出力デバイス §2. 電源

●電源 今回の課題のゴールはたくさんのバッテリーを使うことじゃない。モバイルにしなくちゃならない場合を除いてバッテリーを使うのはお勧めしない。一般的には各Labは各種電源を取り揃えているはずだ。 今から紹介するベンダーMARLIN P. JONES & ASSOC. INC.は数多くのベンチサプライ(電源)を取り扱っている。 きっと諸君はこれらの各種電源をプロジェクトに用いることになるだ

bottom of page