« 試行錯誤 | トップページ | 0x3A の罠は、まだ続く »

N88-DISK BASIC の中間コードファイルをアスキーファイルに変換するのは、一応できた

さらに続き

単精度実数、倍精度実数の数字がおかしくなる原因は、16 進数から 2 進数へ変換したときに先頭のビットが 0 だとカットされてしまうためだった。

表す数字としてはどちらでも変わりはないものの、桁落ちしているビットも含めて情報なので、これでは正しく変換できるはずもない。

ということで補完するように修正。

そうこうして良さそうなので M88 へもっていって実行させようとするとロードエラーがでる。

が、ふと別の資料本を眺めていたら原因がわかった。ただしいファイルに変換できていなかった。行末のコードが正しくない。行の終わりには「0D0AH」がはいる必要がある。ファイルの終わりには、さらに「1AH」も必要。

修正して実行できることを確認した。

実数方面の丸目誤差がどう影響するかは、まだ未確認。0.0001 が 0.000099 とかになるのでごくわずかではあるのだが。

しかし、この時代に PC-8800 シリーズ用のツールなど(まして、アスキーセーブすれば事足りる)需要があるはずもないので、どこかに置くこともないかな。手元のバイナリー保存された BASIC プログラムをアスキーに変換するだけしたら、もう必要はないしなあ。

とはいえ、なかなか楽しい時間ではあった。案外あっさりできてしまった。

 

|

« 試行錯誤 | トップページ | 0x3A の罠は、まだ続く »

コメント

コメントを書く



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


コメントは記事投稿者が公開するまで表示されません。



« 試行錯誤 | トップページ | 0x3A の罠は、まだ続く »