フォト
2017年7月
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31          
無料ブログはココログ

« arduino IDE 1.6.4 で ARM STM32F103C8T6を使ってみる | トップページ | STM32F103C8T6ボードでLチカ »

2015年5月26日 (火)

IchigoJamで自分自身をLIST表示するプログラム

IcigoJamでは現在実行している(RAMにロードしている)プログラムは、
#C00のアドレスから次のような感じで管理されています。

       1行ごとの格納形式は下記の通りです。
        先頭3バイト+プログラム文となります。
      
      
      
         ・・・・・
      
       プログラム(テキスト文字列)部の終端にはNULL文字が付くためデータ長は
       行内プログラム長さ+1バイトとなります。
       また、バウンダリー調整のためテキスト文字列部の後半はNULL文字が埋まって
       いる場合があります。

       次の行のアドレスは3+行内プログラム長さ+1 となります。
       行番号が0の場合が未使用領域となるようです。

       行番号2バイトが1バイト目が下位8ビット、2バイト目が上位8ビットです。
       10行の場合は、 #0A #00 となります。

       この領域もPEEK、POKE命令で読み書き出来ます。
       下記は「自分自身のプログラムを表示するプログラム」です。

 
10 'ジブンヲヒョウジスル プロウラム
20 P=#C00
30 'ギョウバンゴウ シュトク
40 N=PEEK(P)+PEEK(P+1)<<8
50 IF N=0 THEN END
60 ? N;" ";
70 P=P+2
80 'ナガサノシュトク
90 L=PEEK(P)
100 P=P+1
110 FORI=0 TO L-1
120 ?CHR$(PEEK(P));
130 P=P+1
140 NEXT
150 ?""
160 P=P+1
170 GOTO 30

          実行結果
          04_2

          LISTコマンドのような結果が出力出来ました。
          このプログラムで、管理構造が把握出来ました。

 

« arduino IDE 1.6.4 で ARM STM32F103C8T6を使ってみる | トップページ | STM32F103C8T6ボードでLチカ »

IchigoJam」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/571408/61629277

この記事へのトラックバック一覧です: IchigoJamで自分自身をLIST表示するプログラム:

« arduino IDE 1.6.4 で ARM STM32F103C8T6を使ってみる | トップページ | STM32F103C8T6ボードでLチカ »