You are here

MN1613でマンデルブロ集合


カテゴリー:

前回DC擬似命令で浮動小数点数を扱えるようになったのでテストを兼ねてASCIIART(マンデルブロ集合)を描かせてみました。


元はBASICのプログラムですがアセンブリ言語で書き直しました。16ビット整数や浮動小数点数がそのまま扱えるからか8ビット時代にアセンブリ言語で書いていて感じた面倒さはあまりなくスラスラ書けますね。

計算範囲と条件は はせりん@haserin09 さんの「番外編:ASCIIART(マンデルブロ集合)ベンチマーク」に合わせています。

実行してみたところ9600bpsのシリアルが足を引っ張っているように感じたので、計算はするけど画面出力を止めたバージョンも作って比べてみました。

結果は、表示ありで約7秒、表示無しで約6秒といったところでした。思ったほどシリアルの影響は出ていません。

表示は79×25なのでほぼ2000文字、9600bpsだと2秒以上かかるはずなのに差が小さいのはステータス待ちの間にも計算が進められているからと思われます。

ソースとリスティングを/pub/asciiart-MN1613/に置いておきます。ASには前回の浮動小数点パッチがあたっている必要あります。


Add new comment

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.
※ コメントは原則公開です。個別のご相談などは「ご意見・ご要望」からお願いします。