バイナリプログラミングは何の役に立つ? 「imaoPad」の使い方を動画で解説注目デバイスで組み込み開発をアップグレード(28)(2/2 ページ)

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

「imaoPad」の実行モード

 前回紹介したimaoPadの編集モードの説明では静止画像を使いました。今回はimaoPadの編集モードと実行モードについて解説する動画を作製しましたのでぜひご覧ください。なお、動画で使っているimaoPadは、次回以降紹介するユニバーサルボードに実装したものになります。

「imaoPad」の編集モードと実行モードについて解説する動画[クリックで再生]

 ここからはこの動画についての補足説明になります。

 imaoPadの基板の裏側にはFPGAがあり、このFPGAにオリジナル4ビットCPUであるDL166が実装されています。imaoPadは、DL166をバイナリで学ぶためのガジェットです。

 初期画面は編集モードとなります。8×8のLEDドットマトリクスの右上の角が点滅しているのが分かります。

 上下左右キーとA/Bボタンを操作してプログラミングしていきます。今回は、以下のプログラムを実行します。このプログラムは前回の再掲になります(表1)。編集モードにおけるプログラミングのやり方は前回記事をご確認ください。

adr binary instruction
0000 01100_110 inc r6
0001 1001_0000 jmp 0
表1 連載第27回で紹介したプログラム

 1行目は、インクリメント(inc)で、指定したレジスタの値を1つ加算します。上5桁が命令を、下3桁がレジスタを示しています。110なのでレジスタ6(R6)を指しています。

 2行目はジャンプ(jmp)で、これは指定したアドレスに実行を移します。下4桁の0000が飛び先番地です。

 図1はimaoPadの基板を裏側から見た状態です。左側にあるUSB Type-Cコネクターの上側にある白いボタンを押しっぱなしにすると実行モードになります。

図1 図1 「imaoPad」の基板を裏側から見た状態[クリックで拡大]

 実行モードではAボタンを押し続けるとクロックを供給します。そして実行モードではレジスタを表示します。一番上がR0、そして一番下がR7です。

 表1のプログラムが実行されるとR6のインクリメントを繰り返すことになります。

 一番下のR7はプログラムカウンタです。Aボタンを離すとクロックが停止し、その時点のレジスタの表示が保持されます。

 基板裏側の白いボタンを離すと再び編集モードに戻ります。この時、点滅しているカーソルの位置がプログラムカウンタの位置となります。

おわりに

 今回は、バイナリプログラミングを学ぶのにimaoPadが適していること、バイナリプログラミングでコンピュータを学ぶことの意義、imaoPadの実行モードなどについて説明しました。これらのことをご理解いただければ筆者冥利(みょうり)に尽きます。

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

前のページへ 1|2       

Copyright © ITmedia, Inc. All Rights Reserved.