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

[OSASK 2803] from OSASK BOARD



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


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

From: 川合秀実
Message-ID: 3c2b06df_317c
Date: 2001/12/27 20:32
Subject: Re:発見第1号「Display / Monitor」

[OSASK 2801]へのレスです。

>静かにOSASKが起動するのです。
>ディスプレイのモードを変更すると金属音らしきものが聞こえます。パチン!
>そのままのモードでいいと。です。

 音が鳴るのは、多分画面のスキャンレート(リフレッシュレートともいいます
が)が変わった時です。ビデオカードには非常にたくさんの画面モードがあり、
それらはすべて異なるスキャンレートを持っているわけではありません。

 おそらくBIOS起動時にはテキストモードになっていると思いますが、OSASKは
これをすぐにVGAモードに切り替えるので、「そのままのモードでいい」という
ことはありません。

>しかしCPUがタスクを管理するなんて、なんかだか「お節介」に感じます。

 僕はそうは思いません。おかげで効率よくタスクスイッチできますし。・・・
それにCPUの機能をほとんど使わずにタスクを構築して切り替えることもできま
す。それなりに面倒ではありますが。

>まず、疑似命令。
>純粋なCPUの動作を読みたい場合は、拡張された機能が邪魔なんです。はい。

 そうですかねえ・・・。単にbase.asmを読むだけなら、擬似命令は無視してし
まえばいいと思うんですが。

>次は
>これ、MOV EDX,(00000000H)+00000001H
>変です。EDXレジスタ←メモリのデータ+1

 これはbase.asmのどこにあった表現なんですか?・・・いや、base.asmじゃな
くてもいいんですが、OSASKのソースのどこにこのような表記があったのでしょ
うか?

 MASM系のIA-32のアセンブラでは、小括弧はただの括弧であり、メモリを意味
しません。つまり上記は、MOV EDX,1と同じ意味です。ASKAでさえ、このような
複合命令はサポートしていません。

>命令の中に命令を合成してある。

 こんなことができるアセンブラは、僕の知る限りありません。もちろんマクロ
を使った場合はこの限りではありませんが。

>OSASKの背景色が精神的に苦痛の場合はどこを変更すれば、
>真っ黒になりますか?

 winman0.cです。init_screen()の最初のlib_drawline()のカラー指定と、「ウ
ィンドウを消す」と書かれている部分(2ヶ所あります)のlib_drawline()のカラ
ー指定の部分をいじれば、お望みの結果を得ることができるでしょう。もしかし
たら他にもいじらなきゃいけないところが残っているかもしれませんが。