カテゴリー: ベンチマーク

Z80:SDCC:エラトステネスのふるい

Z80-COREでも、SDCCを使用してC言語でエラトステネスのふるいのプログラムを記述・実行できます。 Z80-CORE用のSDCCのライブラリをまだ作成していないので、プログラムの前半には、文字の出力や計時機能など、 […]

Z80:SDCC:マンデルブロ集合表示プログラム

SDCCでは、実数の計算ができるので、BASICで書かれたマンデルブロ集合表示プログラムをSDCCに移植して性能評価を行ってみました。 BASICのプログラムとできるだけ同じ条件で処理時間を比較して比較してみたかったので […]

NMIでのタイマー割込みによる計時機能

いろいろとお小言をいただく前に言い訳をしておきます。。。 NMIによる計時処理 XENESISシリーズのボードでは、計時機能を実現するために、PICのタイマーで作成したインターバル信号を各マイクロプロセッサのNMIに接続 […]

エラトステネスのふるい:実数型BASIC

実数型BASICで記述した10000までの素数を計算するプログラムの例を「SIEVE-MSF.BAS」に示します。 使用しているアルゴリズムは、エラトステネスのふるいと呼ばれるもので、素数と判断された数の倍数になっている […]

マンデルブロ集合表示プログラム

マンデルブロ集合の表示プログラム OSI 8K BASICの処理速度を確認するため、\ref{sec:benchmark-1}節と同様に、マンデルブロ集合の表示プログラムでベンチマークテストを行ってみました。 6502- […]

APPLE-1 BASIC

APPLE-1BASICは4KBの整数型BASICインタプリタで、APPLE-1用のBASICインタプリタとして提供されていたものです。 APPLE-1 BASICは、当時一般的なプログラム配布メディアであったカセットテ […]

CC65:エラトステネスのふるい

プログラムの処理時間を計測するための関数の利用例として、\ref{sec:osi-basic-benchmark}で紹介した素数を求めるプログラムをC言語で記述したものを「エラトステネスのふるい:sieve.c」に示しま […]

CC65:出力コードの評価

ここでは、CC65が生成するアセンブリコードの内容をみてみましょう。 対象は、ACIA(6551)のとってもシンプルな入力用コードです。 C言語のコードは図\ref{fig:c-consc}のconin()関数です。 人 […]