上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
--.--.-- -- l スポンサー広告 l top
IJBIN2POKEでichigojamのマシン語を使ってみて分かったことを記録してみます。
(らしい、とあるのは試行錯誤してみた結果で、仕様などを確認したわけではないからです。)

①サブルーチンは使えるが、引数の引き継ぎがうまくいかないらしい。
   → 今回は使いませんでしたが、固定アドレスに引数を格納すればよいと思われます。

②グローバル変数は使えないらしい。 
   → やはり固定アドレスに引数を格納すればよいと思われます。

③割り算は使えないらしい。
   → これは中々分かりませんでした。A=B/10;等でコンパイルは通るのですが、計算結果は
      正しくならない模様です。おそらく割り算に必要なライブラリを登録していないためと思います。
      しかし、考えてみると、汎用的な割り算はかなりのステップを消費するはずです。
      ライブラリをリンクすると貴重なメモリを消費すると想像されます。
      使わないものと割り切って、右シフトで代用するようにします。

④行番号1、行増分1、出力形式DEC、一行データ数45とすると一番多くのコードをichigojamに送れる。
  → 出力形式HEXだと1バイトが必ず#xxで3文字消費しますが、DECにすると1~3バイトにで
    平均は3バイト以下になります。
    一行データ数はIJBIN2POKEプルダウンでは20までですが、キーボードから直接数字をいれることで
    20より大きい数が入ります。ここを大きくするとPOKE文のアドレス部分が減るのでお得になります。
    45より大きくするとichigojamの1行の長さを超えるエラーになります。

    これでコンパイル結果だいたい256バイトでichigojam用POKE文コードが1KBになるくらいのようです。
    PCG領域256BYTEをマシン語領域に使うならちょうどよいくらいです。

    しかしマシン語256バイトって、32ビットコードで64ステップなんですよね。
    中々複雑なことはできません。1KBあればかなりのことができそうですが、贅沢かな。

それではまたです。


2016.06.21 Tue l ICHIGOJAM l コメント (0) l top

コメント

コメントの投稿












上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。