BASICMASTER

BASICMASTER

chibicc compiler を6800向けに改造する (6) IEEE754 float (1)

chibicc 6800 には、IEEE754形式の32bit floatを実装している。オールアセンブラなので、割と速い。 chibicc-6800-v1/libc/__float.s at main · zu2/chibicc-6800...
BASICMASTER

chibicc compiler を6800向けに改造する (5) アドレッシングと最適化

MC6800向けにコンパイラを書いていて困るのは、Acc A,B と IX,SP が別世界の住人であることだ。Acc A,B で演算した結果をIXやSPに移動するには、ゼロページを経由するしかない。12cycles, 6bytes必要だ。遅...
BASICMASTER

chibicc compiler を6800向けに改造する (4) strcpy

MC6800の泣きどころはインデックスレジスタが1つしかないことと、スタック操作が苦手なことだ。例としてstrcpyを書いてみよう。unsigned char *strcpy(unsigned char *dst, unsigned cha...
BASICMASTER

いまさらベーシックマスターの開発環境を作ってみる(47) MAME

各種エミュレーターで有名な MAMEdev.org | Home of The MAME Project が、バージョン0.270からBASICMASTER Jrをサポートしていた。(Sony NWS-3270があるのも大変そそりますが、こ...
BASICMASTER

生成AI(gemini)を使って16進ダンプリストを入力する

過去のプログラムで遊ぶ時に 避けられないのがプログラムリストの入力である。BASICであれば、入力時・実行時にエラーが出るので、まだなんとかなる。でも、16進ダンプは打ち間違えると、プログラムが暴走してどこで間違えたかわからない。後年になる...
BASICMASTER

ベーシックマスターの文字列出力は$04が終端文字(ベーシックマスター開発 その46)

最近、Quoraを読んでいたら以下のような質問があった。 C言語の文字列は、何故、文字列長を含めたデータ構造にしなかったのでしょうか?昔からのプログラマだと、MS-BASICやUCSD Pascalは文字列長+文字だったなあ、とか、その前は...
BASICMASTER

MC6800のプログラミングテクニック(14) 多バイト整数の2の補数

MC6800のプログラミングテクニック(1) 16bit数値の2の補数の計算とMC6800のプログラミングテクニック(7) 分岐条件の生成(2)の記事を書いてから、ずーっと考えていたことがある。多バイトの2の補数はもっと簡単に作れないか?1...
BASICMASTER

MC6800のプログラミングテクニック(13) 多バイトの+1/-1操作をinc/decで行う

6800にはメモリを直接操作する命令があり、便利に使える。下記の11種がそれだ。 CLR/COM/NEG/DEC/INC/ROL/ROR/ASL/ASR/LSR/TSTシフト・ローテート命令は多倍長の乗除算に使えるし、他の命令もちょっとした...
BASICMASTER

chibicc compiler を6800向けに改造する (3) ++ と —

ポストデクリメントとプリインクリメントという概念を初めて知ったのは、古のCPUであるSC/MP(スキャンプ) IIのデータシートであった。当時のパソコン雑誌には、なぜか、SC/MP IIの記事が多数掲載されていた。しかしSC/MP IIに関...
BASICMASTER

MC6800のプログラミングテクニック(12) 多バイト整数の比較

MC6800には豊富な分岐命令があって、1バイトの数値の大小を比較するのは簡単である、という話を前に書いた。 6800の分岐命令(ベーシックマスター開発 その30) | ず@沖縄そのときに、2バイトの比較はやや面倒であると書いたが、多バイト...
BASICMASTER

chibicc compiler を6800向けに改造する (2) 関数呼び出しの仕組み

去年の末から、 rui314 (Rui Ueyama) さんの rui314/chibicc: A small C compiler を MC6800向けに改造しています。今回は関数呼び出しの仕組みのメモです。 zu2/chibicc-68...
BASICMASTER

chibicc compiler を6800向けに改造する (1)

去年の末から、 rui314 (Rui Ueyama) さんの rui314/chibicc: A small C compiler を MC6800向けに改造しています。簡単なプログラムが動作するようになったので、公開しました。 zu2/...
スポンサーリンク