[Subject Prev][Subject Next][Thread Prev][Thread Next][Subject Index][Thread Index]
[OSASK 1371] Re: for more compact(Re: s_world.bin).
小柳です。
Hidemi KAWAI wrote:
>
> こんばんは、川合です。
>
> さて、せっかく小柳さんがASKAにチャレンジして成功して下さったの
> で、これを記念して少しだけASKAのコツみたいなものを書きます。テー
> マは「もっとコンパクトにしよう!」です(笑)。
>
(中略)
> ついでに、もっと小さくしてみましょう。
>
> int *putnotename_string == DS:EDX;
> EAX = 32; // 5バイト
> // (offset) putnotename_string = work->lib_putnotename.string; // 5バイト
> LEA((offset) putnotename_string, (int) [work->lib_putnotename.string]);
> putnotename_string[ 0] = EAX; // 2バイト
> putnotename_string[ 4] = EAX; // 3バイト
> putnotename_string[ 8] = EAX; // 3バイト
> putnotename_string[12] = EAX; // 3バイト
>
> はい、これなら21バイトです。これで、元の40バイトからみれば、19
> バイトだけコンパクトになりました。
御教授ありがとうございます。
この処理が2か所あったので関数化を加えて修正して
1509パイトから1461パイトに減らすことができました。
http://homepage1.nifty.com/dreaming/osask/sworld.lzh
を更新して楽譜を入れました。
--
小柳 雅明(Koyanagi.Masaaki !Atmark! nifty.ne.jp)
「人の足を止めるのは"絶望"ではなく"諦観"
人の足を進めるのは"希望"ではなく"意志"」
-- ARMS