前回紹介した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.