[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