問題タブ [bios]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
assembly - 16ビットx86リアルモードでBIOSを介してUSBポートにアクセスするにはどうすればよいですか?
私は議会の世界の初心者です、
シリアル、パラレル、VGA、キーボードなどのハードウェアデバイスと通信するためのアセンブリコードを書き込もうとしています。
これは、x86 Intelプロセッサのリアルモードで、アセンブリコードをロードするために個人的に作成したブーストラップからコードを起動することで実行しています。
チュートリアルを読んで得た知識によると、BIOS INTサービスルーチン(ISR)を使用するのが最も簡単な方法でしたが、最も長い方法は、たとえば次のように、ハードウェアのさまざまなレジスタにアクセスすることです。シリアルポートのステータスレジスタと制御レジスタ...
Q1:これについては正しいですか?
BIOS INTを使用してVGAおよびシリアルハードウェアと通信できましたが、USBコントローラーのBIOS割り込みが見つかりませんでした。
Q2:USBポートと通信できるようにするために、そして他の残りのポートについては、一般的にするために私を助けてくれませんか?
Q3:
vmware - VMware の BIOS へのアクセス
VMware Fusion の Mac で、VM の起動時に読み込みバーが表示されている場合、スタンドアロンの Windows マシンであるかのように起動順序にアクセスするにはどうすればよいですか?
「f8」「削除」を試しましたが、うまくいきませんでした。
assembly - アセンブリを使用してハードドライブにアクセスする
アセンブリからハード ドライブを直接アドレス指定する方法はどこで確認できますか (リアル モードまたはリング 0 で実行していると仮定します)。たとえば、セクタ 100 ~ 200 から RAM のある場所にデータをロードしたいとします。特定のハード ドライブをアドレス指定するにはどうすればよいですか? また、必要なセクタをドライブに伝えるにはどうすればよいですか?
assembly - asm 変更コマンドの背景色
テキストの色を変更する部分を書きましたが、背景色を変更する方法が見つかりません。このコードは tasm アセンブリ用です。
これは私のコードですが、動作しません:
assembly - ブートローダーによって実行されるBIOS割り込みを処理する
ディレクトリとサブフォルダを操作したいのですが、ブートローダーで実行したいのですが、既存の割り込みのほとんどはdosモードで使用できます。BIOS割り込みを見つけるにはどうすればよいですか?
x86-16 - BIOS int 13H、AH=02 (フロッピーを読み取るため) およびスタック セグメント
スタック セグメントを初期化しないとどうなりますか?
場合によっては読み取りエラーが発生しますか?
linux - Linux に、VM のインスタンスを一意に識別できる UUID 型の値はありますか?
Linux で動作するアプリがあります。それぞれが OS から UUID を取得し、中央サーバーに報告しようとします。すべてのインスタンスがグローバルに一意の UUID で実行されていることを確認したいと考えています。
Linux がベア メタル上にある場合、UUID を読み取ることができます (たとえば、dmidecode コマンドから)。ただし、VM 上にある場合、VM はコピーまたは移動できるため、(dmidecode からの) UUID は潜在的に等しい可能性があります。
何か案は?
ところで、(VM ではなく) 物理ハードウェア上で実行されている Linux の場合、ユーザーがメモリ、NIC などを変更すると、UUID は変更されますか?
前もって感謝します。
bios - ペンドライブセクターのロード
BIOS割り込みを使用してペンドライブのセクターをロードするにはどうすればよいですか?? ペンドライブから起動するには、低レベルのディスクアクセスが必要です....int 13hを使用してセクターをロードできると聞きました...しかし、同じ割り込みを使用してペンドライブのセクターをロードする方法は?? セクターをロードするために必要なパラメーターは何ですか......??? ペンドライブの2560など、セクターをロードするにはどうすればよいですか... int 13hに使用されるディスクパラメーターを計算する方法は?? ペンドライブのシリンダー、トラック番号を取得する方法?????
keyboard - 割り込みから、またはキーボード バッファにアクセスすることによってキーボード入力を取得できるため、キーボード ドライバが必要なのはなぜですか?
スキャン コードとしてのキーボード入力は、割り込み 09 IRQ1または類似のものを呼び出すか、セグメント0040hの BIOS キーボード バッファに直接アクセスすることで取得できます。
別のキーボード ドライバーが必要なのはなぜですか? または、キーボードドライバー自体がOSに対して上記のいずれかを行いますか?
私が意味するのは、BIOSキーボードバッファまたはいくつかの割り込みルーチンができるときにキーボード入力を取得することです.なぜ「キーボードドライバ」を書く必要があるのですか?なぜなら、minixのようないくつかのOSでは、そのOSのドライバのリストに別のキーボードリバーがあるからです. ?
assembly - リアルモードx86ASM:基本はどのように行われますか?
私は現在boot.s
、最初のLinuxカーネルのソースにあるファイルを読んでいます(0.01が実際に最初のパブリックリリースであると仮定しています)。
私はCとASMを知っていますが、後者は前者よりかなり少ないです。それでも、ソースファイルのコードを理解し、本質的に把握できるようです。
しかし、このファイルは私を混乱させました。これは、プロテクトモードではなくリアルモードであるためです。言うまでもなく、リアルモードで記述されたASMコードはこれまで見たことがありません。プロテクトモードは、私が生まれる前にx86 OSが実行されていた事実上のモードだったので、当然のことです。
これが私がよりよく理解したいルーチンです:
調べてみるoutb
と、コンピュータのポートにバイトを渡すために使用されていることがわかりました。このシナリオでは、最初の引数として「モーターの停止」バイトを渡し、2番目の引数としてフロッピードライブのポート番号を渡すというCのドキュメントに基づく推測を危険にさらします。
このインターフェイスはBIOSによって提供されていますか?またはフロッピードライブで直接?BIOSには、すべての基本的なデバイスの非常に基本的な操作のための質素な「ドライバー」があると思います。
これが私が困惑しているところです:のような数字#0x3f2
が薄い空気から引き出されているようです。それらは明らかにハードウェアのポート番号か何かです。このファイルにはそのような番号が散りばめられており、それらが何を指しているのか説明はありません。リアルモードから受信できるすべてのハードウェアポートと制御番号を示す包括的なリファレンスはどこにありますか?また、ファイルは、ハードコードされたメモリアドレスを使用して、起動プロセス全体でカーネルをメモリ内で移動させるようです。リアルモード中に上書きできるメモリアドレス範囲のガイドはどこにありますか?
また、BIOSと内部ハードウェア割り込みの衝突を回避するための割り込みの再プログラミングに関するLinusのコメントも読みました。私はうそをつくつもりはありません、それは私の頭の真上に行きました。
ヘルプは素晴らしいでしょう。あなたが疑問に思っている場合に備えて、Googleはこのトピックについてまばらに見えます。