2014年9月19日金曜日

ニート脱出記録

ブレインファックで4桁までのフィボナッチ数列を求めるためには10進計算が必要
なので桁上りを行うための怪しいコードを書いてみる。

1000*0+100*12+10*9+11*1を1*1000+100*3+10*0+1*1に直す感じ。
1バイト一桁で4桁使用。

ノートの上で試行錯誤すること1時間半なんかこのコードを書いただけで疲れた。
使用済みメモリ領域のごみ処理がちゃんとできてるかは不明。
計算結果が0になる場合も表示できるように修正。
明日はフィボナッチ数の数列を行う処理を記述予定。


最初の
+
[-
から相対メモリ位置が決まる、その手前はテスト用の値設定。
計算に使用する範囲は
4桁をabcdとして
相対メモリは
0 ,,,1,,,2,,,3,,,4,,,5
-1,,a,,,b,,,c,,,d,-1
その後ろ7バイト計算用で確保。
計算終了時に0と5を-1、-1に戻している。
初めて使うときは0と5を-1にしてから使用すること。
相対メモリ位置4から処理に入り相対メモリ位置0で処理が終了する。
後日の保守はドキュメントなしでは不可能。
ここから先はとある理由で、10月6日になるまでは公開できない。


      -
      >
      >
      >
      +
      >
      +
      >-<
      +
      [-
      >>>>>>++++++++++<<<<<<
      [->>>>>>>>+<<-
      [<<<<<<<-
      >>>>>>>>>
      ++++++++++
      <]
      <[<]
      <<<<<<+
      >>>>>>>>>----------
      <<<<<<<<
      ]
      >>>>>>>>[-<<<<<<<<+>>>>>>>>]
      <<<<<<<<
      >>>>>[-]
      >++++++++++++++++++++[-]
      >[-]
      >[-]
      <<<<<<<<<+
      ]

      >[<]>[<]>[<]
      >+
      [-
      ++++++++++++
      ++++++++++++
      ++++++++++++
      ++++++++++++
      .
      ------------
      ------------
      ------------
      ------------
      >+
      ]
      -
      <<<<-

0 件のコメント:

コメントを投稿