[Subject Prev][Subject Next][Thread Prev][Thread Next][Subject Index][Thread Index]
[OSASK 2797] Re: Smaller color
- Subject: [OSASK 2797] Re: Smaller color
- From: Hidemi KAWAI <kawai !Atmark! imasy.org>
- Date: Wed, 26 Dec 2001 14:01:01 -0000
こんばんは、川合です。
I.Tak. さんは 2001/12/26 20:37:51 の「[OSASK 2795] Re: Smaller c
olor」で書きました:
(スタック開放)
> それは前から省きたかったところです(^^; どうせfarコールした後も
>戻ってこないんだし、いや、でも倫理面の問題が……と。
これは、I.Tak.さんのスタンスにかかっています。
サイズを徹底的に追求するのか、それとも教育的な価値を維持してい
くのか・・・。僕としては、どちらでもかまいません。
>>> xchg [ebx +LIB_PutString.x_pos], ch
>>の代わりに、
>> xor dword [ebx +LIB_PutString.x_pos], byte 10
> これって byte 11 ……
え?なぜに11なんですか?0と10が交互にくればいいというわけでは
ないんですか?・・・ごめんなさい、よく分かりませんでした。
>> いやここまでやるならループ条件をnsからnzに変更して、LOOP命令を
>>使いましょう。これでさらに1バイト減らせます。
> あれ、color 0 は表示しなくても構いませんか。背景色固定ですね(^^
ええ、僕は汎用性を犠牲にしてでもサイズを小さくしようとしていま
す。汎用性重視なら、data_sizeがジャスト0x0100であることを利用し
たらどうかなんていいませんよ(笑)。
でもこの辺もI.Tak.さんのお好きなようになさってください。
> 多分そこのアラインも試したはずです。そして、変わらなかったところ
>はメモリを節約してあります(無意味か)。
ああ、なるほど、そういうことでしたか。それならいいです。
> そういえばASKAでは構造体内のアラインは使えるんでしょうか。使え
>ないから↑になるんでしょうかね。
正式仕様では使えます。構造体内のoriginも使えます。でも今のバー
ジョンはそういう事はできないようです。しかし、代替方法は一応あり
まして、
struct ALLSTATIC {
WORK work;
int libwork[256];
int window[128];
int wtitle[112]; // 64 + 6 * 8 (6文字分)
int textbox[1344]; // 64 + 20 * 8 * 8 (20x8文字分)
};
を、
struct ALLSTATIC {
WORK work[512];
int libwork[256];
int window[128], [128];
int wtitle[112], [144]; // 64 + 6 * 8 (6文字分)
int textbox[1344]; // 64 + 20 * 8 * 8 (20x8文字分)
};
とすることはできます。この場合、workがポインタになってしまうので
参照方法が少し変わりますが。ASKAでの配列の添え字は要素数ではなく
バイト数なのです。
> ぼやきページも記録更新してくださいよ。(^^
一通りの改良が済んで、決定的なサイズが決まったら反映させるつも
りでいます。
> それにしても今考えると、窓タイトルに hello, world って出るだけで
>十分エントリ可能な気がします。
いや、やっぱりそれはだめでしょう。OSASKのハンディーとしてこれ
はがんばるしかありません(笑)。
---
>む、adelaid4がない。
すみません、アップロードする時にファイル名を間違えました。今は
直っています。
それでは。
--
川合 秀実(KAWAI Hidemi)
川合堂社長 / OSASK計画総指揮 / カーネル開発班
E-mail:kawai !Atmark! imasy.org
Homepage http://www.imasy.org/~kawai/