問題タブ [bochs]

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 投票する
2 に答える
324 参照

assembly - カーネルが正しいアドレスにロードされていません

さて、私はこの問題で残っている髪を引き裂いています...

基本的に、私は非常に単純な趣味の OS を開発しようとしています。OS は、FAT12 フロッピー ディスクを使用しない X86 プラットフォームで実行されます。自分のマシンでテストする前に、ディスク イメージを作成して Bochs 2.6.2 でテストします。

いつものようにディスクイメージのブートセクタにブートローダを置き、カーネルイメージ(KERNEL.SYS)を通常のFAT12ファイルとして追加しました。

ブートローダは、KERNEL.SYS を見つけてアドレス 1000h:0000 にロードし、ジャンプすることを目的としています。

ただし、Bochs でディスク イメージをテストすると、次の結果が得られます (07C0:0000 へのジャンプから開始)。

結果

私の知る限り、Bochs はリセットし続ける (三重障害?) か、0000:0000 に戻る (A20 が有効になっていない) ことを知っています。カーネルの開始時に (テスト上の理由から)無限 loop( JMP $) があるため、実行されていないことがわかっています。また、1000:000 が 1 MB を超えないことも知っているので、よくわかりません。

ただし、これは私が本当に気になる部分です。Bochs (32 MB) からメモリ ダンプを取得すると、KERNEL.SYS が 0980:0000 または 0000:9800 にロードされていることがわかります。私はそこに何もロードしなかったという事実を知っているので、何が起こっているのですか?

ブートローダー コード:

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

assembly - シンプルなブートローダーと bochs

AT&T 構文で書かれた単純なブートローダーがあります。

私はyasm -f bin -o boot.bin loader.sそれをコンパイルするために使用し、bochs を実行します。

しかし、bochsあると言ったno bootable device

そこで、次の質問があります。

  1. AT&T 構文で書き直すにはどうすればよいですか (代わりにどの構造を使用する必要がありますtimes 510-($-$$) db 0)か?
  2. ボクの何が悪いの?

ありがとう!

PSBochsはサポート付きでコンパイルされましたが、公式の arch リポジトリからはx86_64動作しません。bochs

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

macos - Mac OS X マウンテン ライオンで bochs を作成する際の問題

X11 を Mac にインストールしました。

ターミナルにいくつかのコードを入力すると:

./configure --with-x11

作る

その後、いくつかの問題が発生します。

問題を解決する方法を教えていただけますか?

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

assembly - 2 バイトのオペレーティング システムは、私が望むものではありません

サンプルからフロッピー ブート イメージを作成しました。

  1. すべての割り込みを無効にする
  2. リブート

ただし、bochs で起動すると、強制終了するまで 100% の CPU を消費します。

フロッピー イメージは次のとおりです。

分解イメージ:

Bochs 出力(pastebin)。

bochsrc.txt:

私はこの方法でbochsを実行します:

ただし、bochs で起動すると、強制終了するまで 100% の CPU を消費します。

Bochs バージョン: 2.4.6-4、ubuntu 12.04 i686 で実行。

私は何を間違っていますか?

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

kernel - レジスタが命令と一致しないのはなぜですか?

bochs のデバッグ機能を使用して、各命令の後にレジスタをチェックしました。しかし、レジスタが命令と一致しないことがわかりました.y mov sp, 0100h sp レジスタはまだ 0 でした。

ax レジスタが 0 に変更されましたが、アプリケーションは正しく実行されました。なんで?

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

linux - bochs を使用した printf() の呼び出し時の Pintos カーネル トリプル フォールト

Ubuntu を実行している自宅のコンピューターで作業している Pintos プロジェクトを始めたばかりです。

ディレクトリからプロジェクトをコンパイルできsrc/threads/、最初のテストpintos run alarm-multipleは問題なく動作しているようです (デフォルトで qemu が実行されることに注意してください)。

しかし、bochsエミュレーターでこのテストを実行すると、printf()から最初に呼び出されたように見える をヒットするとすぐにパニックになりread_command_line()ます。

ピント:

ピントス-gdb:

ご覧のとおり、gdb で (continue) コマンドを実行するとすぐに、 の呼び出し時にcpintos がクラッシュします。read_command_line()printf()

ベースラインの Pintos コードに大幅な変更を加えたとは思いません。この関数呼び出しで bochs をパニックに陥れている可能性があるのは何ですか? この同じテストを qemu で実行しても、この問題はないようです。

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

assembly - nasm - エラー: 行頭にラベルまたは命令が必要です

こんにちは、私はアセンブリに非常に慣れていません(今日始めたばかりです) 。このチュートリアルで述べられていることを正確に実行すると、この問題に遭遇しました。次のテキストで asm ファイルを作成しました。

asmファイルのあるフォルダーには、nasmとnasmpathのコピーがあり、bochsへのショートカットもあります。私がやろうとしているのは、それをbinファイルに変換することです。このコマンドを入力すると:

このエラーが発生します

これは悪いチュートリアルなのか、それとも間違って入力しているのか疑問に思っています。また、「ラベルまたは指示」の意味を知りたいです。