OSECPUに関するメモ(番外版) #2
機能密度追及に関するメモ
- (0) このメモをOSECPUのサイトに書かない最大の理由は、OSECPU-wikiが機能密度の話題でいっぱいになるのが少々申し訳ないため。
- (1) ver.0.40をリリースしてから思いついたこと。
- まず、charsは現在9バイトだが、実はこれは8.5バイトで書く方法もある。つまりもう少しで8バイト化が可能だ。どうにかならないだろうかと考えること1時間弱。実はcharsの9バイト目は00なのだ。それなら実行ファイルを解釈する際には、00を数個付与してから解釈するようにしたらどうだろうか。実はそのようにしても他の実行ファイルには何の影響もない。というか内部では数バージョン前からそうしている(番兵にしている)。よし採用。
- 次にhelloだけど、実はこれも15.5バイトで書ける。そしてOSASK文字列という7bitエンコードと8bitエンコードの中間みたいなものはやめて、純粋な7bitエンコードに切り替えることができれば、これも15.0バイト化が可能なはずだ。よしこれもやってみるか。
- (2) なんか僕の場合、いきなり最高の設計には到達できなくて、まず自分の持っているアイデアを全部入れたものを作ってみて、それをしばらく使っているとやっと改良案が出てくる。・・・ということは、出し惜しみなく作るしかない。
- (3) charsをちょっと考えてみる。現在8バイトだけど、単純に考えれば、0x20という開始値と0x7fという終了値は必要で、まあこれがそれぞれ1バイトだとしよう。そして2バイトのシグネチャがある。そうするとそれだけで4バイトは必要で、制御のために使っているのは4バイトだということになる。なるほど。