Kの開発メモ #0002
- (by K, 2013.03.26)
- ここは川合の開発の進捗などをレポートするところです。
- 当初はその予定だったが、今ではむしろ主たる目的はKの備忘録になってしまっている(苦笑)。
2013.03.26 Tue
- DIFFPTRやCOMPPEなどを追加。ついでに裏APIの仕様も少し変更してリビジョン0003へ。
- 2013.03.19(Tue)から実装を開始したので、これで1週間経ったことになる。結構はかどった。しかし疲れた。体重も1kgくらい減った。これは長くは続けられないと思う。
- よくよく考えた末、軽量の関数呼び出しと重量の関数呼び出しの二種類が必要かなと思う。軽量callはセキュリティ的に防御せずに分岐。重量callはがっちり守る。リターン命令以外では帰ってこれない。
- もう少し見栄えがするものが作れるようになったら、ソースとバイナリを分離してもう少しきれいなパッケージにするべきだよな・・・。現状のままでは「お客さん」がとっつきにくすぎる。
2013.03.27 Wed
- 裏APIに余興でほんの少しだけグラフィック機能をつけてみた(Windows限定)。osecpu.exeは7.50KBになってしまった。とりあえずapp0006a.oseというアプリを作ってみたところ、ちゃんと表示できているようだ。
- 軽量callがほしくなったので実装中。・・・よしできた!
- アセンブラを必死に書いていると、結構疲れる。うーん、若いときにアセンブラでがんばったときはもっと疲れずにできたんだけどなあ。
- でもここでがんばっておけば、将来にわたって使えるわけなので(osecpuさえ移植すればx86が主流じゃない未来が来ても大丈夫、という意味)、がんばる気にはなる。
2013.03.28 Thu
- 裏APIの呼び出し方法が、うさんくさい隠し命令ではなくて、普通の軽量callでできるようになりました。
- ラベル番号の管理でやってられなくなったので、ローカルなラベル番号をうまい具合につけてくれるプログラムを書きました。
- 150行ほどのC言語プログラムです。
- これもいつかOSECPUで書き直したいです。
- そのほかいろいろ調整して、OSECPUのアセンブラが第三世代OSASKと互換になりました。これでやる気は百倍です。だって何を書いても、将来にわたってずっと使える(と信じられる)からです。
- 本日の成果:
こめんと欄