0

ここで問題があります...デバッグ(cmd/ms-dosで)を使用して、いくつかのことを学び、いくつかのコマンドを実行しています... AX を 1234に、DX を ABCDに設定します。それで、私は命令を登録するために「 -a 100 」をしました、私はしまし:割り込みを設定しない場合)。-rを実行してレジスタ値を表示すると、それらは変更されずに残ります。これはAX:CD34である必要がありますが、AX は 1234であり、MOV コマンドが機能しないようです...何が間違っていますか?

http://img203.imageshack.us/img203/4866/movdxdldoesntworks.png

(リンク失礼します。画像を投稿するには評判が必要です)

また、Windows Debug to Linux のようなものが存在するかどうかも知りたいです。つまり、Linux インストール (Debian ベース) に nasm と yasm がありますが、それは単なるコンパイラであり、コードをファイルに書き込む必要があり、コンパイルして実行します。Linux の ASM 用の「エミュレータ」または「デバッグ」ツールがありますか? 上の図の Debug Windows ソフトウェアのように?

最後に、3 つの質問でメッセージを長くして申し訳ありませんが、多くのトピックで「殺到」したくないので、最後の質問は、ある種の中断のリストをどこで見つけることができるかということです。マシンコード関数のリストまたはマニュアルを見つけたいと思います。たとえば、Peter Norton の本では、"AH" レジスタに "02h" がある場合、DOS に 1 文字を画面に出力するように指示すると、彼は「関数のリストを見つけたい場合は、 Windows の「ヘルプ」機能は単純なコマンドのリストであり、実際のマニュアルではありません。 UNIXの「男」のように。

私はグーグルでそれを見つけようとしましたが、私が見つけたすべての「DOSマニュアル」は、「cd、dir、format、time、blablabla」のような単純な機能しか示していませんでした。 「AH」コマンドと機能の完全なリストを見つけてください。INT 18h は Basic を実行するためのものであり、INT 19h はコンピューターを再起動することを知っています (18h は Basic を実行しないが、INT 19h の代わりにコンピューターを再起動すると私に言いました)。また、Google でさらに 2 つまたは 3 つの出現箇所を見つけましたが、「完全な」リストではありません。

助け、忍耐、そして注意をありがとう、私はあなたを愛しています! ;)

4

2 に答える 2

0

デバッガーで機能しない理由を言うのは難しいです。これをプログラムに入力して、最後にブレークポイントを配置して結果を確認しようとしましたか?

Linux デバッガーに関する質問への回答は次のとおりです (GDB をお勧めします): Linux Assembly Debugger

3 番目の質問については、割り込みに関する適切な情報源があります: http://www.cs.cmu.edu/afs/cs.cmu.edu/user/ralf/pub/WWW/files.html

リンクが古くなっている場合は、「ラルフ ブラウンの割り込みリスト」を検索してください。

于 2013-05-13T10:40:30.537 に答える