PIC Pico Basic の新バージョンVer3.13を公開しましたので、紹介いたします。

1.プログラム行の行番号を廃止し、ラベルを採用しました。行番号廃止に伴い、関連する
    機能やコマンドを変更しました。
2.A~Z、a~zの変数名を使用する際、別名併記を可能にしました。
   (例:A_hensuu、c_counter)
3.if ~ elseコマンドを追加しました。

  その他、タイマ1割り込みを10msから1msへ変更、@変数の対象SFRを大幅に追加しました。

   従来(ver3.0以前)のバージョンでは、既存の複数のプログラムを流用して新規のプログラムを作成する際、二つの問題点がありました。
(1)行番号が競合している場合、再採番が必要である。
(2)変数名が競合している場合、変数名の変更が必要である。

  上記(1)を解決するため「行番号を廃止しラベルを採用」しました。また、(2)を容易にするため「変数名別名併記」ができるようにしました。また、その他に変更しましたので、以下に紹介します。

行番号廃止ラベルの採用
  行番号の主な機能として以下がありました。
(1)行編集機能
(2)コマンド行とプログラム行の判別
(3)gotoコマンドとgosubコマンドの飛び先行指定
(4)runコマンドのプログラム開始先とプログラム中断時の再開先指定

  上記(1)(2)は、ほかの機能で代用でき、(2)はラベルの採用で飛び先行指定は可能となります、(4)はrunコマンドの変更とラベルの使用で実現しました。

1.ラベルの使用法
  ラベルを、gotoコマンドとgosubコマンドの飛び先行指定として使用する場合、以下のように使用します。
(1)ラベルは英数字列で記述し、gotoコマンドとgosubコマンドの直後と行頭で使用します。
(2)行頭のラベルはgotoコマンドとgosubコマンドの飛び先を探索するときに利用し、それ以外の
      場合(ラベル行実行時)は無視されます。
(3)ラベルはgotoコマンドとgosubコマンドの飛び先指定として使用し、命令とラベルの間に一つ
     以上のスペースを挿入して使用します。
(4)ラベルを行頭で使用する場合は、アスタリスク(*)の直後にラベルを記述しラベルの直後に
     コロン(:)を記述する。このコロン(:)の後に命令文を記述することができます。

  ラベルにコマンド名や関数名と同じ英数字列を使用すると、エディタでラベルを変更する際、同時にコマンド名や関数名が変更されるので、ラベルにコマンド名や関数名と同じ英数字列を使用するのは、避けた方が無難です。

  下記に、ラベルを使用したサンプルプログラムを紹介します。

 

エディタサンプル.jpg  今回、空行を可としました。


2.行編集機能の廃止
  従来(ver3.0以前)のバージョンでは、行編集機能としてプログラム行の追加・削除・置換機能がありましたが行番号を廃止した結果、行編集機能の実現は困難となりました。プログラム作成は、Windows付属の「メモ帳」かエディタをご使用ください。「メモ帳」には行番号表示機能がないため、エディタの利用をお勧めします。
  現在は、インターネットで多くのエディタがフリーウェアとして紹介されています。上記にエディタを使用している例を紹介します。

3.コマンド行とプログラム行の判別
  従来(ver3.0以前)のバージョンでは、入力された行の行番号の有無で、ダイレクト・コマンド行かプログラム行かを判別していました。行番号を廃止した結果、行番号のない行は、すべてダイレクト・コマンド行と見なします。
  プログラム行を入力する場合は、load/ploadコマンド実行するとその後入力される行は、すべてプログラム行と見なし、メモリに格納します。

  従来使用していたpmon/pmoffコマンドは、廃止しました。

【load/pload】プログラムのメモリ格納
[書式]load
          pload
[機能]load:新規プログラム入力をRAMに格納する。
          pload:新規プログラム入力をROMに格納する。
[備考]・本機能を開始すると、プロンプト”>”を印字します。
          ・本機能を終了するためには、数字を入力する。
          ・エディタなどでプログラムを作成するとき、ファイルの先頭行にloadまたはploadを記述し、
           最終行に数字を記述し、ターミナルのファイル転送モードを使用すると、自動的に格納を
           開始し終了する。
           (上記エディタの使用例を参照ください。)

  上記で編集しているサンプル・プログラムを、loadコマンドでRAMに格納している例を下記に示します。

load.jpg  loadコマンドが読み込まれた後、プロンプト(>)を印字しプログラム行格納モードになり、数字(999)入力でプログラム格納モードが終了しています。load/ploadコマンドが終了すると、上記のようにメモリ使用状態を印字します。

  上記プログラムをRAMに格納後、listコマンドを実行すると、下記のようになります。

list.jpg  上記のように、listコマンドを実行すると行番号を付加して、リストを印字します。先頭行にloadコマンドがないため、エディタの行番号とは異なっています。

  エラーが発生した時は、エラー内容の印字と上記のように付加した行番号を印字します。


4.run命令とプログラム中断時の再開先指定
  従来(ver3.0以前)のバージョンでは、runコマンドは、run [行番号]と入力し、行番号を指定していました。
  行番号を省略したときはプログラム格納エリアの先頭から実行し、プログラム中断コマンド(従来は、goto -1)で中断したプログラムを再開する場合は、run [行番号]と入力し、指定した行番号から再開していました。

  今バージョンからは、run/prunコマンドは行番号なしで入力し、プログラム格納エリアの先頭から実行します。また、プログラムを中断する場合は、中断させたい位置にbreakコマンドを記述し、再開したい行の先頭にラベルを記述し、goto [ラベル]とダイレクトコマンドで実行し再開させます。中断したときは、上記のように付加した行番号を印字し中断ます。

  今回は、新バージョンで採用したラベルについて紹介しました。次回は、変数名別名併記およびその他変更した機能について紹介します。


 

トラックバック(0)

このブログ記事を参照しているブログ一覧: 「PIC Pico Basicの紹介」第15回:新バージョンの紹介編(1)

このブログ記事に対するトラックバックURL: http://www.eleki-jack.com/mt/mt-tb.cgi/3782

コメントする


このブログ記事について

このページは、picobeが2010年1月14日 10:03に書いたブログ記事です。

ひとつ前のブログ記事は「「PIC Pico Basicの紹介」第14回:LCDモジュールの接続(3)プログラム編」です。

次のブログ記事は「「PIC Pico Basicの紹介」第16回:新バージョンの紹介編(2)」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。