FPGA評価ボードの万能UI「dpad3」改め「imaoPad」でバイナリ入門を再始動する注目デバイスで組み込み開発をアップグレード(27)(2/2 ページ)

» 2025年04月25日 09時00分 公開
[今岡通博MONOist]
前のページへ 1|2       

「imaoPad」の操作方法

 この実装例ではエディターモードと実行モードがあります。これら2つのモードを切り替えてプログラミングとデバッグを行います。

エディターモード

 電源投入時はエディターモードになります(図1)。

図1 図1 「DL166」を実装した「imaoPad」の電源投入時の状態[クリックで拡大]

 8×8のLEDドットマトリクスの画面右上の角にあるLEDが点滅しています。図1では点灯している瞬間が写っていますが、実際には点滅しています。これはカーソルの役目を果します。

 エディターモードで上下左右キーとAボタンBボタンを用いて8×8のLEDドットマトリクス画面にプログラミングしていきます。

 imaoPadのLEDドットマトリクスの左側にある上下左右キーを操作してカーソルを移動します。そして、LEDドットマトリクスの右側にある2つのボタンの内右側のAボタンを押すとその場所のLEDをセットします。また同左側のBボタンを押すとその場所のLEDがリセットされます。

 図2はプログラミングの様子を示しています。

図2 図2 「imaoPad」の十字キーとABボタンを使ってプログラミングしていく様子[クリックで拡大]

 図2のLEDドットマトリクスがところどころ点灯していますがその意味を読み解いていきましょう。

 これはドットマトリクスを見る上でのお約束なのですが、ドットマトリクスの左側が下位ビット、右側が上位ビットになります。すなわち、ドットマトリクスの一番右上のLEDは最下位ビットを示し、左側に行くほど上位ビットとなって一番左上のLEDが命令セット長である8ビットの中の最上位ビットとなります。

 そしてドットマトリクスの上下の軸はアドレスを示しています。一番上の行が2進法で0000番地、一番下の行は2進法で0111番地となります。

 表3は図2で示したビット列の元になるプログラムです。

adr binary instruction
0000 01100_110 inc r6
0001 1001_0000 jmp 0
表3 図2で示したビット列の元になるプログラム

 表3の一番右側の列を見てください。最初に「inc r6」とあり、その次に「jmp 0」があります。この場合、最初にレジスタR6をインクリメント(1を加算)します。この命令はアドレス0000番地に書きこまれています。次のjmp 0は、0000番地に実行を移すというものです。すなわちこのプログラムコードを実行するとR6のインクリメントを繰り返すのです。

 そしてinc r6をバイナリコードに直すと「01100_110」となります。アンダーバー(_)はコードが見やすくなるようにオペレーターのコードとオペランドのコードの間に挿入しています。上位5ビットが「inc」のオペレーターである「01100」を示しています。下位3ビットは「r6」を示しています。

 次のjmp 0ですが上位4ビットが「jmp」を示し下位4ビットは実行を移行するアドレスを示しています。これらをimaoPadのLEDドットマトリクス上に表現すると図2のようになるというわけです。

おわりに

 今回はimaoPadの操作モードのうちエディターモードを紹介しました。次回以降他の操作モードやさまざまな使い方を紹介します。お楽しみに。

⇒MONOist編集部へのご意見はこちらまで

前のページへ 1|2       

Copyright © ITmedia, Inc. All Rights Reserved.