[Subject Prev][Subject Next][Thread Prev][Thread Next][Subject Index][Thread Index]
[OSASK 2795] Re: Smaller color
Hidemi KAWAI さん、こんにちは。I.Tak. です。
Wed, 26 Dec 2001 04:14:21 -0000 の
[OSASK 2791] Re: Smaller color
に返信です。
>> add esp, byte 4*6
>これって、ESP = ESI;にすれば、1バイト減らせるんじゃないでしょう
>か?・・・というか、別にこの命令自体を省略してしまってもいいんじ
>ゃないかと。無くてもスタックを24バイト浪費するだけなので・・・。
>いかがでしょう?
それは前から省きたかったところです(^^; どうせfarコールした後も
戻ってこないんだし、いや、でも倫理面の問題が……と。
>> xchg [ebx +LIB_PutString.x_pos], ch
>の代わりに、
> xor dword [ebx +LIB_PutString.x_pos], byte 10
これって byte 11 ……
>の方がいいんじゃないでしょうか?確かにここでは1バイトの損ですが
>CXへの代入をCLの代入に変更できてそこで2バイト得しますし、さらに
>CL--;をECX--;に変更できるのでここで1バイト得して、トータルでは2
>バイトの得です。
> いやここまでやるならループ条件をnsからnzに変更して、LOOP命令を
>使いましょう。これでさらに1バイト減らせます。
あれ、color 0 は表示しなくても構いませんか。背景色固定ですね(^^
> ついでに、これはちょっと得なのか損なのかはっきりとは分からない
>のですが、struct bssのところで、
> .winwork: resb 128 + 128
> .titlework: resb 64+ titlelength*8 + 144
> .textwork: resb 64+ 20*8*8
>にしたらtek0でパックしたときのサイズに影響は出るでしょうか?
多分そこのアラインも試したはずです。そして、変わらなかったところ
はメモリを節約してあります(無意味か)。
そういえばASKAでは構造体内のアラインは使えるんでしょうか。使え
ないから↑になるんでしょうかね。
> ああ、それにしてもこんなに小さくなるとは・・・。僕の変更をすべ
>てそのまま採用すればとりあえず176バイトにはなるはずで、そうなる
>とかつてのHELLO0.BINとたったの4バイトしか違わないわけです。そのh
>elloはもっと縮んでいるんですが(笑)。
ぼやきページも記録更新してくださいよ。(^^
それにしても今考えると、窓タイトルに hello, world って出るだけで
十分エントリ可能な気がします。
> 今のサイズでさえ、colorT4.binをダンプしてみると、本当に小さい
>と思います。芸術ですよ、ここまで来ると(笑)。
出た!芸術!
~~~~~~~
む、adelaid4がない。
------------------------------------------------------------
I.Tak. <msy !Atmark! catvmics.ne.jp>
http://home1.catvmics.ne.jp/~msy/takhome.htm