ページへ戻る

− Links

 印刷 

GUIGUI01​/memo15 のバックアップ差分(No.4) :: OSASK計画

osaskwiki:GUIGUI01/memo15 のバックアップ差分(No.4)

« Prev[4]  Next »[5]
3: 2008-12-23 (火) 15:30:18 ソース[6] 4: 2008-12-23 (火) 15:30:18 ソース[7]
Line 57: Line 57:
---内容[5 0] モード変更("6"+1.5B=2.0B) 長さ[12] 内容[hello, world] 内容[3] ---内容[5 0] モード変更("6"+1.5B=2.0B) 長さ[12] 内容[hello, world] 内容[3]
--しかしこれでは16.5バイトだ。COM64plusに追いつくにはもっと減らさなければ! --しかしこれでは16.5バイトだ。COM64plusに追いつくにはもっと減らさなければ!
---さらにモード変更について考察した結果、たとえばモード変更をしたくなる場所というのはほとんど決まっていた。ようするに文字列を指定する場所や、バッファを指定する場所である。しかも指定値はほとんど決まって8bit配列モードだった。+--さらにモード変更について考察した結果、モード変更をしたくなる場所というのはほとんど決まっていた。ようするに文字列を指定する場所や、バッファを指定する場所である。しかも指定値はほとんど決まって8bit配列モードだった。
--そういうことなら、こんな分かりきったことのために毎回2.0バイトも使うなんて非効率的過ぎる。そこで、APIパケットの文脈がこういう場所に差し掛かったときには、パケットに「モード変更:8bit配列モード」のコードを自動挿入させることにした。ただこれだけだと他のモードにする方法(もしくはモード変更しない方法)がなくなって柔軟性が損なわれるので、この文脈に差し掛かったときのパケット先頭が4bitの"5"なら、この"5"を読み捨てて自動挿入もしないということにした。これでこうなった。 --そういうことなら、こんな分かりきったことのために毎回2.0バイトも使うなんて非効率的過ぎる。そこで、APIパケットの文脈がこういう場所に差し掛かったときには、パケットに「モード変更:8bit配列モード」のコードを自動挿入させることにした。ただこれだけだと他のモードにする方法(もしくはモード変更しない方法)がなくなって柔軟性が損なわれるので、この文脈に差し掛かったときのパケット先頭が4bitの"5"なら、この"5"を読み捨てて自動挿入もしないということにした。これでこうなった。
---内容[5 0] モード変更(0.5B) 長さ[12] 内容[hello, world] 内容[3] ---内容[5 0] モード変更(0.5B) 長さ[12] 内容[hello, world] 内容[3]
« Prev[4]  Next »[5]