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

[OSASK 3629] BOARD: Re: へっぽこコンソールの各コマンド詳細



このメールは、OSASK伝言板に書き込まれた内容です。
この書き込みに返事を書く場合は、下のURLから書き込みを行なって下さい
http://www.imasy.org/~mone/osask/index.cgi?REFER=3cc41335_11d93

2002/04/22 22:42
川合秀実

[OSASK 3625]へのレスです。

  今日はかなり忙しいので、簡潔にお答えします。

>下記のコマンドには、
>使い方のわかるものと不明なものがありますので解説きぼんぬです

  nisiさんのOSASK-MLログ目録のページ:
    http://face.ruru.ne.jp/turoremo/osask/osasl-ml-index.asp

へ行って、そこのgoogle検索で、興味のあるコマンドを検索してみてはいかがで
しょうか。多分、見つけられるのではないかと思います。それで見つからないよ
うなコマンドについては、ソースから推察してください。僕からコメントするこ
とはしません(説明していないということは、使わなくて良いコマンドなのです)
。バグが残っているかもしれませんし、実行するとOSASKそのものがおかしくな
るのかもしれません。自己責任でどうぞ。

>OUT命令での一例を/pcat/base.asmの

  たとえば、
mov dx,03d4h
mov ax,3213h
out dx,ax
という命令は、I/Oアドレスの0x3d4に0x3213という16bitデータを出力する命令
です。一般的なAT互換機では、グラフィックチップのディスプレイコントローラ
アドレスレジスタと、同データレジスタへの書き込みを意味しており、CRTCレジ
スタのオフセットレジスタ(インデックス:0x13)に、データ50(=0x32)をセットし
たことになります。これで、VGAモードのVRAMの構成が800x655ドットになります
(表示範囲は変化しません)。

  この説明がまったく分からないようでしたら、失礼ですが、このout命令を理
解するにはまだまだ勉強不足です。がんばって勉強してください。

>つまりbase.asmが何をしているのか、大雑把に、時には詳しく。

  すみませんが、おおざっぱにしか説明しません。時間がないので。

・キーボードBIOSを使ってキーロック状態を取得する
・SS, ESPを初期化
・リアルメモリのどこにOSASK.EXEがロードされているのかを把握し、空いたと
  ころを空きメモリとして登録
・EFLAGSのACビットを利用して、486以降か386なのかを判別(キャッシュ制御を
  するかしないかを決めるため)
・IDT, GDT, PDE, PTE用のメモリを確保し、0クリア
・ブートに必要なPDEとPTEを設定
・ブートに必要なGDTを設定
・プロテクトモードへ移行
・init.askへジャンプ