ず@沖縄

BASICMASTER

chibicc compiler を6800向けに改造する (13) strcpy その2

chibicc compiler を6800向けに改造する (4) strcpy | ず@沖縄 の続きです。前回も書いたように、MC6800の泣きどころはインデックスレジスタが1つしかないことと、スタック操作が苦手なこと。例としてstrcp...
BASICMASTER

MC6800で16bit整数の平方根を求める

Z80での高速な平方根処理: PICマイコンは面白い にZ80で平方根を高速に求める記事があった。記事で参照されているRetro Programming: A Fast Z80 Integer Square Rootにあったのは以下のような...
BASICMASTER

Amsterdam Compiler Kit を6800向けに改造する (6) 色々悩んでいる

Amsterdam Compiler Kit を改造してMC6800用のコードを出力する試みの6回目。実はスタックマシンの動作が思っていたのと違っていてテストが動きません。関数引数が1バイトのときのendian問題のときにもっと調べておけば...
BASICMASTER

Amsterdam Compiler Kit を6800向けに改造する (5) デモが動作するようになった

Amsterdam Compiler Kit を改造してMC6800用のコードを出力する試みの5回目。ackに含まれているexampleのいくつかが 動くようになりました。標準入力からの入力が必要なので、emu6800にパッチを当てて使って...
BASICMASTER

Amsterdam Compiler Kit を6800向けに改造する (4) 関数引数がcharのとき

Amsterdam Compiler Kit を改造してMC6800用のコードを出力する試みの4回目。今回は関数引数がcharのときの処理 davidgiven/ack: The Amsterdam Compiler KitEM codeは...
BASICMASTER

MC6800のプログラミングテクニック(19) AccABと0の比較

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

Amsterdam Compiler Kit を6800向けに改造する (3) 関数呼び出し

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

Amsterdam Compiler Kit を6800向けに改造する (2) cg (code generator)

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

Amsterdam Compiler Kit を6800向けに改造する (1) スタック構造

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

MC6800のプログラミングテクニック(18) BYTE SAVING PROGRAMMING TRICKS FOR THE 8080

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

MC6800のプログラミングテクニック(17) AccBを符号拡張・Excess128,127

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

chibicc compiler を6800向けに改造する (12) savage benchmark

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