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

[OSASK 2173] from OSASK BOARD



このメールは、OSASK伝言板に書き込まれた内容です。
この書き込みに返事を書く場合は、下のURLから書き込みを行なって下さい。


http://www.imasy.or.jp/~mone/osask/index.cgi?REFER=3ba5822b_64dd

From: 川合秀実
Message-ID: 3ba5822b_64dd
Date: 2001/09/17 13:55
Subject: Re: こんどこそ32bit 最小の hello, world

[OSASK 2163]へのレスです

> あの後でまた縮小した結果、改行込みで45バイトになりました。
>ELF版をまねてヘッダにコードをしこんでいます。

 これまたすごいものを作られてしまいましたね。

> それで「ぼやき」に書いてあった
>「NASMの記述力でヘッダにコードを埋め込む」
>というような所が気になりました。db などでヘッダを作るのは
>別に記述力の高さではなく(call 0xc7:0 の代わりに db 0x9a ;
>dd 0 ; dw 0xc7 って書くのと同じく)、アセンブリ言語の通常テクでしょう。

 それはまことにおっしゃる通りです。

>nasmにバイナリモード(ヘッダを付けない)があるからヘッダの
>自作がしやすいだけです。

 MASMや386|ASMなどにはこのモードはなく、それゆえにNASMのプログラマーは
ヘッダーに気を配ることが相対的に多いと思います。もしヘッダーを自作すると
したら、他のアセンブラでももちろんできますが、しかしNASMでやるのが一番簡
単だと思います。僕の言う「記述力」というのはそういう意味です。

> 早速osask改造……と思いきや窓98に開発環境を作るのも
>TOWNS gcc にいろいろ移植するのも面倒そうでとりあえず
>バイナリをいじって画面モードを変えてみました。

 おお、それはすごいです。

>が、ルートウインドウの大きさが変わりません。当たり前ですね(^^;
>こいつを変えるにはどこをいじったらいいのか教えてください。
>vgadrv は見渡してみましたがやっぱりよく分からなかったので。

 それは、winman0.cで制御しています。関数job_setvgamode2()の最初のところ
で、TOWNS用の画面の広さを設定しています。