問題タブ [real-mode]

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.

0 投票する
1 に答える
220 参照

assembly - セグメント オフセット ペア bs セグメント記述子

32 ビット プロセッサのセグメント記述子と比較して、物理アドレス計算用の 8088 のセグメント オフセット ペアの違いを理解するのに少し混乱しています。

どんな説明でも大歓迎です。

0 投票する
2 に答える
1729 参照

assembly - 8086 リアル モードで使用できる割り込みは何ですか?

BIOS 割り込みについて読み、8086 リアル モードでのみアクセスできることを知っています。

私の質問:

  • 他にも利用可能な割り込みはありますか? DOS 割り込みについて読んだことがありますが、それらがリアル モードでも使用できるかどうか、および DOS 割り込みのリストが何であるかについて混乱しています。

  • 保護モードに入ると、 0x00 に保存されている BIOS 割り込みテーブルはどうなりますか? それは置き換えられますか、それとも存在しますがアクセスできないだけですか?

  • 0x13 や 0x19 などの BIOS 割り込みはどのように実装されていますか? それはソフトウェア内ですか、それともプロセッサ経由ですか?
0 投票する
0 に答える
227 参照

usb - BIOS INT 0x13 関数 8

x86リアルモードでBIOS割り込み0x13関数8を使用してUSBドライブパラメーターを取得しようとしています。トラックあたりのヘッド数 (HPC パラメータ) が必要です。どの値をレジスターに渡し、結果はどのレジスターに格納されますか? 返された結果から HPC 値を取得するために実行する追加のビット単位の計算はありますか?

0 投票する
2 に答える
3420 参照

assembly - アセンブリで通常のバイトをASCIIに変換する方法は?

メモリをダンプするリアル モード オペレーティング システム用の関数を作成しようとしています。バイト 0x0a を '0A' として表示し、0xf3 を 'F3' として表示するなどを行います。私が書いたコードは、「0123456789ABCDEF」で構成されるテーブルを使用し、個々のニブルをオフセットとして使用して正しい文字を見つけます。最初に、 にある値を保存しますal。次に、4 だけ右にシフトalし、下位ニブルを削除して上位ニブルを下に移動します。次に、テーブルを にロードしdi、ゼロを設定しahます。次に、オフセットを見つけるために を追加axします。di次に、値を移動しますdial に変換して出力します。次に、上位ニブルの代わりに下位ニブルを使用することを除いて、同じ手順に従います。ただし、実行すると、実際の16進数ではなく、「33」が繰り返し出力されるだけです。これが私のコードです:

それの何が問題なのですか?前もって感謝します。

0 投票する
0 に答える
960 参照

assembly - BIOS 割り込みを使用してアセンブリ オペレーティング システムの次の行にカーソルを移動できません

私は単純な 16 ビット リアル モード オペレーティング システムを作成しています。カーソルを次の行に移動するコードを以下に記述しましたが、他の間のコマンド。

0 投票する
1 に答える
77 参照

assembly - アセンブリの行に値を一時的に格納する方法は?

私は 16 ビットのリアル モード オペレーティング システムを作成しており、ユーザーが入力するコマンドを渡したいと考えています。入力はできますが、後で解析できるように結果の文字列を格納する方法がわかりません。各キャラクターをスタックに置き、使用したいときにポップしてリバースするよりも良い方法はありますか?

私のメインループ:

ちなみにOSはMOOSという。

助けてくれる人に感謝します。