[Subject Prev][Subject Next][Thread Prev][Thread Next][Subject Index][Thread Index]

[OSASK 2240] Re: ASKA ver1.0β17



  こんばんは、川合です。


今原 修一郎 さんは 2001/09/30 22:29:00 の「[OSASK 2238] ASKA ve
r1.0 β 17」で書きました:

>OSASKの次バージョンを作り途中になんとなく全バージョンのバグfixなどを
>久しぶりに行いました。今回の変更は、

  ありがとう、本当にありがとう。僕はうれしいよ。

>・DW(1,2,3);がdw 1,12,13と展開されていたのを修正。

  これが一番うれしい。このおかげで、

    TEST((char) [DS:EBX + 7], 0x01);
    TEST((char) [SS:0xfffffff1], 0x02);
    CMP((char) NextTss->short_run[11], 0xff);

がちゃんと通るようになったよ。うっとり。

  しかも、

    DD(0x0010, (offset) &a, (offset) &main, 3);

なんてやってもちゃんとできる。うーん、さすがだ。

  でも、調子に乗って、

struct WORK {
    int abc[100];
    int def[12];
};

    WORK *work == DS:0x1000;
    DD((offset) work->def);

とやったら、さすがに死んでしまった。うーん、さすがにこれは高望み
だったか(これができると可読性を損なわずに小さなバイナリーが作れ
るんだけど・・・)。

  多分駄目だろうなあと思いつつ、

struct WORK {
    int def[12 + 2];
};

とやってみた。駄目だった。まあ、式の解析をやっていないらしいから
これはしょうがないか。

  ついでにもう一つ。

  ASKAの正式な仕様では、ストリングの最後に'\0'を勝手に挿入しては
いけません(挿入したければ、"str\n\0"と明示する)。・・・と思っ
たら、それ以前に、EAX = "str\n";の'\n'もそのまま'\'と'n'になって
いるのね・・・。ちゃんと、0x0aに変換しなきゃ駄目だよう(笑)。

  とにかく、今回のバージョンアップを僕は高く評価しています。これ
で、かなりじゃじゃ馬じゃなくなったはずです。

---

  ところで、今原さんのページをみて思い出したんだけど、GWLの次バ
ージョンの開発はどうなっているの?やめちゃったの???


  それでは。

--
    川合 秀実(KAWAI Hidemi)
川合堂社長 / OSASK計画総指揮 / カーネル開発班
E-mail:kawai !Atmark! imasy.org
Homepage http://www.imasy.org/~kawai/