BASICMASTER, 昔のパソコン

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

BASICMASTER, 昔のパソコン

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

BASICMASTER, 昔のパソコン

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

BASICMASTER, 昔のパソコン

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

BASICMASTER, 昔のパソコン

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

BASICMASTER, 昔のパソコン

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

2025/01/01BASICMASTER, 昔のパソコン

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

2024/12/31BASICMASTER, 昔のパソコン

6800用のコンパイラを探して – CC6303 (2)(ベーシックマスター開発 その44) | ず@沖縄の続き。 今回はCC6303の生成するオブジェクトについてについてのメモです。 zu2/CC6303: A C compiler fo ...

2024/12/30BASICMASTER, 昔のパソコン

複数回の左右シフト操作を効率化したい。例えば、AccABを左に8bitシフトする場合は、TBAが使える。 LSLB/ROLA が4クロック必要なので、普通に書くと32cyc,16bytes必要。下記の方法なら 4cyc, 2bytesである ...

2024/12/26BASICMASTER, 昔のパソコン

6800用のコンパイラを探して – Fuzix/CC6303(ベーシックマスター開発 その22) | ず@沖縄にて、CC6303について書いたのだけど、事実誤認があったので訂正。 CC6303が、6502用のCコンパイラであるCC65を68 ...

BASICMASTER, 昔のパソコン

EtchedPixels/Fuzix-Compiler-Kit: Fuzix C Compiler ProjectのCコンパイラ付属のpeephole optimizer (のぞき穴的最適化プログラム)の話の続き。 簡単な最適化でどれぐらい ...

2024/12/16BASICMASTER, 昔のパソコン

EtchedPixels/Fuzix-Compiler-Kit: Fuzix C Compiler ProjectのCコンパイラには、peephole optimizer (のぞき穴的最適化プログラム)が付属している。 このoptimize ...