バイナリプログラミングは何の役に立つ? 「imaoPad」の使い方を動画で解説:注目デバイスで組み込み開発をアップグレード(28)(2/2 ページ)
注目デバイスの活用で組み込み開発の幅を広げることが狙いの本連載。今回は、そもそもバイナリプログラミングが何の役に立つのかについて、サイバーセキュリティの観点で具体的に説明する。また、前回に引き続きFPGA評価ボードの万能UI「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コネクターの上側にある白いボタンを押しっぱなしにすると実行モードになります。
実行モードではAボタンを押し続けるとクロックを供給します。そして実行モードではレジスタを表示します。一番上がR0、そして一番下がR7です。
表1のプログラムが実行されるとR6のインクリメントを繰り返すことになります。
一番下のR7はプログラムカウンタです。Aボタンを離すとクロックが停止し、その時点のレジスタの表示が保持されます。
基板裏側の白いボタンを離すと再び編集モードに戻ります。この時、点滅しているカーソルの位置がプログラムカウンタの位置となります。
おわりに
今回は、バイナリプログラミングを学ぶのにimaoPadが適していること、バイナリプログラミングでコンピュータを学ぶことの意義、imaoPadの実行モードなどについて説明しました。これらのことをご理解いただければ筆者冥利(みょうり)に尽きます。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- ≫連載「注目デバイスで組み込み開発をアップグレード」バックナンバー
- ≫連載「オリジナルCPUでバイナリコード入門」バックナンバー
- ≫連載「今岡通博の俺流!組み込み用語解説」バックナンバー
FPGA評価ボードの万能UI「dpad3」改め「imaoPad」でバイナリ入門を再始動する
注目デバイスの活用で組み込み開発の幅を広げることが狙いの本連載。今回から、前回紹介したFPGA評価ボードの万能UI「dpad3」改め「imaoPad」を使って、FPGAを最初から学んでみたい方やバイナリプログラミングでコンピュータを基礎から学び直したい方を対象とした記事を展開していく。ブレッドボードの表裏を使ってFPGA評価ボードの万能UI「dpad」を新生させる
注目デバイスの活用で組み込み開発の幅を広げることが狙いの本連載。今回は、本連載やFPGAの連載の中で紹介してきたFPGA評価ボードに万能ユーザーインタフェースを備えたデバイス「dpad」について、ブレッドボードの表裏の両面を活用して新たに開発した新生dpadを紹介する。ロシア製ガイガーミューラー管の実力はいかに
注目デバイスの活用で組み込み開発の幅を広げることが狙いの本連載。前回から自作ガイガーカウンターのつぶやきbot「imaocande」をよみがえらせる取り組みをスタートさせたが、今回は新たに作製する「imaocande2」に使用する予定の新たに入手したガイガーミュラー管の特性と動作原理について深掘りする。