BASICMASTER, 昔のパソコン

Amsterdam Compiler Kit の生成する中間言語(EM code)では、Top of Stack と0を比較し、ToSに0,1を入れる命令がある。 tlt,tle,teq,tne,tge,tgt がそれだ。6800では To ...

BASICMASTER, 昔のパソコン

Amsterdam Compiler Kit を改造してMC6800用のコードを出力する試みの3回目。今回は関数呼び出しについて。 davidgiven/ack: The Amsterdam Compiler Kit 引数の受け渡し スタッ ...

BASICMASTER, 昔のパソコン

Amsterdam Compiler Kit を改造してMC6800用のコードを出力する試みの2回目。 davidgiven/ack: The Amsterdam Compiler Kit cg (code generator) ソースプロ ...

BASICMASTER, 昔のパソコン

Amsterdam Compiler Kit というポータブルで多言語のコンパイラがある。 私は30年以上前に MINIX 2.0 で使っていた。PC/AT互換機(80286)で草の根BBSのホストプログラムの構築に使っていた。懐かしいなあ ...

2025/06/20BASICMASTER, 昔のパソコン

Dr. Dobb's Journal という、書名だけでは内容がわからないマイコン雑誌があった。一時期は日本語版も発売されていた。プログラミングテクニックが掲載されていて、私も参考にしたものだ。 さて、その DDJ誌に “BYTE SAVI ...

2025/06/18BASICMASTER, 昔のパソコン

昨今のC言語で普通にcharと書くとsigned charである。イマドキのCPUでは符号拡張のコストはほぼ0なので問題ないのだが、MC6800では大騒ぎである。 chibicc-6800で使っているのは下記のコード。ASR/ROLでbit ...

2025/06/15BASICMASTER, 昔のパソコン

savage benchmark というベンチマークテストがある。初出は Dr. Dobb’s Journal, Number 83, September 1983, p. 120。 下記の演算をを2500回繰り返す。 2乗とsqrtは逆演 ...

2025/06/14BASICMASTER, 昔のパソコン

簡易プロファイラができたので、ベンチマークテストを見ながら性能改善を行なっている。今回は Whetstone。 DhrystoneとWhetstoneは、1980-90年代によく使われていたベンチマークテスト。 作られたのはWhetston ...

2025/06/07BASICMASTER, 昔のパソコン

Dhrystone や Whetstone が動くようになったのだけど、Z80のコンパイラと比べると遅いのである。 Z80は1命令数あたりの実行ステート数は多いが、4MHzで動く。今ならもっと高速で動作するチップもあるが、1980年ごろは4 ...

2025/05/14BASICMASTER, 昔のパソコン

chibicc 6800のfloatの比較では、TOS (top of stack)に左辺を積んで、右辺を@longに置いて、jsr __cmpf32tos する。 cmpf32tos は AccB とフラグで比較の結果を返す。 両辺のどち ...

2025/05/07BASICMASTER, 昔のパソコン

「chibicc 6800 には、IEEE754形式の32bit floatを実装している。オールアセンブラなので、割と速い」などと書いたのだけど、それでも遅いのである。 chibicc compiler を6800向けに改造する (6) ...

2025/04/22BASICMASTER, 昔のパソコン

コンパイラが一通り動くようになったのでベンチマークしてみた。古典的な dhrystone。 z88dkで動くバージョンがあったので、それで試してみる。 案の定、いくつかbugが出たが、なんとか動くようになった。 z88dk/libsrc/_ ...