古の日立ベーシックマスターの記事
ベーシックマスターの文字列出力は$04が終端文字(ベーシックマスター開発 その46)
最近、Quoraを読んでいたら以下のような質問があった。 C言語の文字列は、何故、文字列長を含めたデータ構造にしなかったのでしょうか? 昔からのプログラマだと、MS-BASICやUCSD Pascalは文字列長+文字だったなあ、とか、その前 ...
MC6800のプログラミングテクニック(14) 多バイト整数の2の補数
MC6800のプログラミングテクニック(1) 16bit数値の2の補数の計算と MC6800のプログラミングテクニック(7) 分岐条件の生成(2)の記事を書いてから、ずーっと考えていたことがある。多バイトの2の補数はもっと簡単に作れないか? ...
MC6800のプログラミングテクニック(13) 多バイトの+1/-1操作をinc/decで行う
6800にはメモリを直接操作する命令があり、便利に使える。下記の11種がそれだ。 CLR/COM/NEG/DEC/INC/ROL/ROR/ASL/ASR/LSR/TST シフト・ローテート命令は多倍長の乗除算に使えるし、他の命令もちょっとし ...
chibicc compiler を6800向けに改造する (3) ++ と —
ポストデクリメントとプリインクリメントという概念を初めて知ったのは、古のCPUであるSC/MP(スキャンプ) IIのデータシートであった。 当時のパソコン雑誌には、なぜか、SC/MP IIの記事が多数掲載されていた。しかしSC/MP IIに ...
MC6800のプログラミングテクニック(12) 多バイト整数の比較
MC6800には豊富な分岐命令があって、1バイトの数値の大小を比較するのは簡単である、という話を前に書いた。 6800の分岐命令(ベーシックマスター開発 その30) | ず@沖縄 そのときに、2バイトの比較はやや面倒であると書いたが、多バイ ...
chibicc compiler を6800向けに改造する (2) 関数呼び出しの仕組み
去年の末から、 rui314 (Rui Ueyama) さんの rui314/chibicc: A small C compiler を MC6800向けに改造しています。 今回は関数呼び出しの仕組みのメモです。 zu2/chibicc-6 ...
chibicc compiler を6800向けに改造する (1)
去年の末から、 rui314 (Rui Ueyama) さんの rui314/chibicc: A small C compiler を MC6800向けに改造しています。 簡単なプログラムが動作するようになったので、公開しました。 zu2 ...
6800用のコンパイラを探して – CC6303 (3)(ベーシックマスター開発 その45)
6800用のコンパイラを探して – CC6303 (2)(ベーシックマスター開発 その44) | ず@沖縄の続き。 今回はCC6303の生成するオブジェクトについてについてのメモです。 zu2/CC6303: A C compiler fo ...
MC6800のプログラミングテクニック(11) シフト操作の高速化
複数回の左右シフト操作を効率化したい。例えば、AccABを左に8bitシフトする場合は、TBAが使える。 LSLB/ROLA が4クロック必要なので、普通に書くと32cyc,16bytes必要。下記の方法なら 4cyc, 2bytesである ...
6800用のコンパイラを探して – CC6303 (2)(ベーシックマスター開発 その44)
6800用のコンパイラを探して – Fuzix/CC6303(ベーシックマスター開発 その22) | ず@沖縄にて、CC6303について書いたのだけど、事実誤認があったので訂正。 CC6303が、6502用のCコンパイラであるCC65を68 ...
Fuzix-Compiler-Kitの6800用コンパイラ(9) peep hole optimizer(2)
EtchedPixels/Fuzix-Compiler-Kit: Fuzix C Compiler ProjectのCコンパイラ付属のpeephole optimizer (のぞき穴的最適化プログラム)の話の続き。 簡単な最適化でどれぐらい ...
Fuzix-Compiler-Kitの6800用コンパイラ(8) peep hole optimizer(1)
EtchedPixels/Fuzix-Compiler-Kit: Fuzix C Compiler ProjectのCコンパイラには、peephole optimizer (のぞき穴的最適化プログラム)が付属している。 このoptimize ...