OSECPUに関するメモ(番外版) #1
機能密度追及に関するメモ
- (0) このメモをOSECPUのサイトに書かない最大の理由は、OSECPU-wikiが機能密度の話題でいっぱいになるのが少々申し訳ないため。
- (1) ver.0.39に採用予定の「P01にデータセクションの先頭アドレスが入った状態で起動する」はCLEの
r1 最初の String リソースへの参照
- の真似以外の何物でもない。この設計は秀逸だと思う。
- 情けないことにこの設計の秀逸さを理解できるようになったのはごく最近である。
- そもそもPxxレジスタはアプリ起動時にはNULLを入れておくくらいしか初期値がないわけだけど、NULLだったら何の役にも立たない。それなら何か役立つ値を入れておくほうがずっと賢い。
- (2) OSECPUのフロントエンド命令セットにはループ命令があるが、これはCLEのループ命令を参考にしたわけではない。以前から検討していたもの。CLEが結局没にしてしまったのとは異なり、OSECPUではver.0.39以降では命令コード6を割り当てるという大躍進を遂げる予定。利用頻度が想定よりも高かったから。
- (3) ver.0.39でのフロントエンドバイトコード一覧(一部)
- 4: プリフィクス(44はCNDプリフィクス)[旧6]
- 5: 関数呼び出し[変わらず]
- 6: forループスタート[旧3C]
- 7: forループエンド[旧3D]
- 0D: サブプリフィクス(データタイプオーバーライド用)[新設]
- 2E: データ記述[旧4]