0

BochsエミュレーターでBIOSint0x15を使用していますが、これは、構成内容に関係なく、常に同じメモリサイズ(34440)を返します。

mov ax, 0x88
int 0x15

メモリ検出のより良い方法があることは知っていますが、なぜこれが期待どおりに機能しなかったのかを理解したかったのです(私が何かを絞った場合に備えて)

どうしてこれなの?bochs biosは、この値を返すようにハードコーディングされていますか?

4

2 に答える 2

3

INT 15h、AX=E820hを確認してみてください - システム アドレス マップのクエリを実行して、 INT15/E820 BIOS が提供する物理 RAM マップをどのように使用するかを確認してください。

拡張メモリ サイズを取得する

mov ah,88h
int 15h
于 2010-01-02T12:57:46.533 に答える
2

表示されている戻り値 (AX=34440) はAH=86H and AL=88H. メモリサイズではありません。また、エラーを示すキャリー フラグが設定されていることもわかります。エラー コード 86H (AH) は、機能がサポートされていないことを意味します。AT 以前の PC をエミュレートするために、意図的または意図せずに Bochs をセットアップした可能性があります。

于 2011-02-14T19:24:50.393 に答える