[IchigoJam メニューへ戻る]

ボクにもわかる
IchigoJam BASIC 言語を学ぼう


はじめに

 本ページでは、簡単なBASIC命令について説明します。説明文中の各命令のリンクをクリックすると、ウェブサイト「IchigoJamレシピ」が提供しているIchigoJam BASIC コマンドの説明ファイルにアクセスすることが出来ます。


ダイレクトモードとプログラム

 IchigoJamを含む多くのBASICが、ダイレクトモードというBASICコマンドを直接実行するモードに対応しています。IchigoJamを起動したら、キーボードで「L」「E」「D」「スペース」「1」と「Enter」キーを入力してみてください。「LED」命令は1でLEDを点灯、0で消灯します。
 圧電ブザーをIchigoJamのSOUND端子とGND端子に接続した場合は、「BEEP」命令でブザー音を鳴らすことも出来ます。「B」「E」「E」「P」「Enter」と入力してみてください。

IchigoJam 0.9.8 by @taisukef
OK
LED 1
OK
BEEP
OK

 上図をプログラムにして実行した例を以下に示します。BASICでは最初に数字(行番号)を付与するとプログラムになります。プログラムは「RUN」で実行することが出来ます。

IchigoJam 0.9.8 by @taisukef
OK
10 LED 1
20 BEEP
RUN
OK


テストプログラムを動かしてみよう

 ここではテスト用のプログラムを紹介します。新しいプログラムを入力する時は、「NEW」コマンドで古いプログラムを消してから入力します。
 入力したプログラムは「LIST」命令で確認することが出来ます。

NEW
10 CLS:PRINT "TEST PROGRAM"
20 WAIT 6
30 B=BTN()
40 LOCATE 0,1:PRINT "BUTTON=";B
50 IF B=0 GOTO 20
60 IF A=0 THEN A=1 ELSE A=0
70 LED A
80 BEEP
90 GOTO 20

 上記のプログラムの最初の数字は行番号です。行番号10は、画面を消す「CLS」命令と文字列を表示する「PRINT」命令からなります。文字列は「"」でくくります。次の行番号20は待ち時間です。60で約1秒なので6だと約100ミリ秒の待ち時間です。
 行番号30の「BTN()」は IchigoJam上のボタン状態を取得する命令です。ボタンが押されると1になります。取得した値を変数Bに保存します。行番号40は変数Bの値を表示します。PRINT文の「;」は文字や変数の結合を示します。
 行番号50は「IF」の条件が一致した時(変数Bの値が0の時)に行番号20に戻ります。この条件は行番号30でボタンが押されていない0の状態がBに代入された場合に一致します。
 行番号60は変数Aの値を反転します。反転とは、Aが0の時は1に、1の時は0に変更します。また行番号70はAの値をLEDに出力します(A=0の時に行番号70の「LED」命令でLEDを消灯、A=1の時にLEDを点灯)。
 行番号80でビープ音を鳴らし、行番号90で20行目に移動します。


プログラムを保存する

 IchigoJamの電源を切ると、作成したプログラムが消えてしまいます。プログラムをマイコン内の不揮発メモリに保存したい場合は「SAVE」命令を用います。読み込みは「LOAD」です。複数のプログラムを保存したい場合は「SAVE 1」のように0〜3までの数字を付与します。
 下図はプログラムを「SAVE 1」で保存し、「NEW」命令でプログラムを消し、「LIST」でプログラムが消えていることを確認してから「LOAD 1」で読み込んで、「LIST」でプログラムを確認した時の様子です。

SAVE 1
Saved 174byte
OK
NEW
OK
LIST
OK
LOAD 1
Loaded 174byte
OK
LIST
10 CLS:PRINT "TEST PROGRAM"
20 WAIT 6
30 B=BTN()
40 LOCATE 0,1:PRINT "BUTTON=";B
50 IF B=0 GOTO 20
60 IF A=0 THEN A=1 ELSE A=0
70 LED A
80 BEEP 10
90 GOTO 20
OK

 SAVEコマンドでマイコンに保存できるプログラム数は3つしかありません。より多くのプログラムを保存したい場合は「1Mbit IスケアC シリアル EEPROM 24FC1025-I/P」を用いることでSAVE番号100〜226の127個ものプログラムを保存することが出来るようになります。回路は「http://fukuno.jig.jp/915」を参照してください。


主要なBASICコマンド

 ここでは主要なBASICコマンドを学びます。下記は行番号10と20の2行のプログラムです。行番号10にて変数Aに12345を代入し、行番号20でAの内容を表示します。

10 A=12345
20 PRINT A
RUN
12345
OK

 なお IchigoJam BASICの変数に代入できる数値の範囲は-32767〜32767の整数です。(例えば「A=32768」を入力すると「--*d80」と表示される。)

 下図の例では変数AとBに値を代入し、行番号30でA-Bを計算して変数Cに代入します。プログラムを記述する際に1行に複数の命令を記述する場合は「:」(コロン)でつなぎます。またPRINT命令で文字を表示したい場合は「"」(ダブルコーテーション)でくくり、表示内容を連結するには「;」(セミコロン)でつなぎます。

10 PRINT "KEISAN"
20 A=12345:B=2345
30 C=A-B
40 PRINT A;"-";B;"=";C
RUN
KEISAN
12345-2345=10000
OK

 最後に1〜10の数字を足すプログラムを作成します。行番号30は変数AにA+1を代入する命令です。この記述が嫌な場合は「LET A,A+1」と書くことも出来ますが、多くのプログラミング言語で代入を「=」で記述します。
 行番号60の「IF」命令はIFに続く条件式に一致した時に続く命令を実行し、不一致の場合は次の行に移ります。この場合Iが10以下であれば「GOTO」命令で行番号30に移動し、11以上であれば次の行に移ります。次の行が無い場合は、プログラムを終了します。

10 A=0
20 I=1
30 A=A+I
40 PRINT "s(";I;")=";A
50 I=I+1
60 IF I<=10 GOTO 30
RUN
s(1)=1
s(2)=3
s(3)=6
s(4)=10
s(5)=15
s(6)=21
s(7)=28
s(8)=36
s(9)=45
s(10)=55
OK

 プログラムの基本動作は、@代入(入出力)、A演算、B条件判定、C移動、D終了(リターン)の5つです。以上の3例にはこれらの全ての要素を含んでおり、およそのプログラミングの流れをつかめたと思います。
 各命令の詳しい使い方や他の命令については、下記のサイトで確認することが出来ます。

ドキュメント(リンク) 著者・ライセンス

リファレンスマニュアル

CC BY https://ichigojam.net/ / jig.jp / 福野泰介

IchigoJam BASIC コマンド一覧

CC BY 4.0 志賀 慶一 (ふうせん Fu-sen.)


BASIC言語に関して

 BASIC言語が普及し始めたのは、1980年あたりでした。ちょうどマイコンからパソコンへ変化する時代です。当時、NEC、富士通、シャープの3社が競って、次々に新機種やラインナップ展開を図っていました。
 パソコンの普及とともにマイコンBASICマガジン(ベーマガ)の創刊や漫画「ゲームセンターあらし」がPC-6001でプログラムを作成する学習本の発売、さらに毎週日曜日に「パソコンサンデー」といった番組が放送され、BASICを学ぶ環境が多くありました。白い犬でおなじみの某大手携帯電話会社は、こういったマイコン・パソコンの関連雑誌社の一つでした。
 今のパソコンとの違いは、「何でも出来るコンピュータ」だったことです。性能の話ではありません。コンピュータとして出来ることに限られていましたが、ユーザは制約や制限無く、ほぼ全機能へアクセスすることが出来ました。少し極端に言うと、メーカーはハードやプログラミング環境を提供し、ユーザーはソフトを作ることがパソコンの使い道だったのです。「何でも出来る=自分で作る」という時代でした。
 とはいえ、BASICだけでは十分なプログラムを書けませんでした。多少のマシン語を併用しなければならずメモリーやIOを直接アクセスするような場合もありました。このため、パソコンの回路図やIOマップ、BIOSのソースコードが公開されることもありました。パソコンが使えるといえば、少なくともプログラムが書けて、また内部の技術まで理解していることが含まれることもありました。
 下図は、BASICが動作するポケットコンピュータ(1989年)とメモリーカード(RAMカード)です。メモリーカードの16は、16GBでも16MBでもありません。16KBです。

ポケットコンピュータ
SHARP ポケットコンピュータ PC-E550 と メモリーカード(16KB)

 さて、現在はこういったプログラム作成を楽しむという使い方は、一般向けでは無くなりました。日曜日のテレビ番組でプログラミングの講義なんて考えられないでしょう。「パソコンが使える=インターネットで検索が出来る、メールが送れる、表計算が出来る、、、」と、パソコンが具体的なアプリケーションを使う道具になりました。
 その一方で、今でも組み込み向けプログラムでは「組み込みマイコンが使える=プログラムが書ける」という意味で残っています。はい。ここで紹介したIchigoJamは、組み込み向けマイコンを使っています。このマイコンが使えるというのは、かつての「パソコンが使える」の時代にタイムスリップした、「復刻パソコン」なのです。
 さぁ、日曜日はパソコンを使ってみましょう。ようこそ、BASICの世界へ。


掲載情報について

  • こどもパソコン IchigoJamを用いた電子工作、応用回路、BASICプログラム等を紹介しています。
  • IchigoJam は株式会社 jig.jp の登録商標(第5746078号)です。
    本サイトでは株式会社 jig.jp の商品である機器およびプログラムの呼称として使用しています。
    「知恵の教授」や「電子出版物の提供」「図書及び記録の供覧」「書籍の制作」の呼名としては
    使用しておりません。
  • IchigoJam を第三者へ販売、提供するには同社からライセンスを受ける必要があります。(詳細)
  • 記載の情報はそれなりに考えたり試作を繰り返した成果が含まれています。
    リンクは自由ですが、当サイト記載内容の無断掲載、転用はご遠慮ください(連絡先)。
  • 当ウェブサイトの内容や情報については、ご自身の責任でご利用ください。
    製作品などで事故が発生した場合であっても当方は一切の補償をいたしません。

IchigoJam メインメニューへ戻る