[解決済み] DOSBox - このプログラムはDOSモードでは実行できません (アセンブリ)
質問内容
数週間前からアセンブリ言語プログラミングを勉強していますが、今日、アセンブリプログラムをコンパイルするために必要なアプリケーションをすべてインストールしました。
DOSBox 0.74、NASM(アセンブラ)、AFD(デバッガ)をインストールしました。ドライブをマウントすると、.asmファイルが正しく表示されます。しかし、次のコマンドを実行すると
nasm firstprogram.asm -o firstprogram.com
を実行すると、次のようなエラーが発生します。
This program cannot be run in dos mode
しかし、コマンドプロンプト(cmd)でファイルをコンパイルすると正しくコンパイルされ、DOSBoxでAFDを実行し、.comファイルをデバッグする必要があるのです。
なぜDOSBoxでこのようなエラーが発生するのか、何か心当たりはありますか?
解決方法を教えてください。
を実行している場合
nasm
DOSBoxの内部では、何が起こるかはとても簡単です...。
互換性レイヤーに騙された!
の詳細を見ると
ポータブル実行形式
(の内部フォーマット)。
.exe
s,
.dll
および
.com
を使用します(最後に使用したものは
コモンオブジェクトファイルフォーマット
と呼ばれるものがあることに気づくでしょう。
MS-DOSスタブヘッダ
. その目的は、次のようなメッセージを表示することです。
このプログラムはDOSモードでは実行できません。
16ビットでは
リアルモード
MS-DOSのようなオペレーティングシステムでは、プログラムが古いシステムと互換性がないことをユーザーに通知するためです。
を実行していることになります。
Windows
nasm
を搭載しています。
エムエスドス
(仮想)プラットフォームです。を使ってみてください。
DOSバイナリ
を使用すれば問題ありません。
関連
-
[解決済み] MIPSの大、小、大
-
[解決済み] error A2022: 命令オペランドは同じサイズでなければなりません。
-
[解決済み] MIPS: スタックポインタ($sp)とスタックの関連した使用法
-
[解決済み] DOSBox - このプログラムはDOSモードでは実行できません (アセンブリ)
-
[解決済み] WAWハザードとは?
-
[解決済み] アセンブリで文字列の長さを表示する方法
-
[解決済み] アセンブリMIPS。配列の初期化および合計
-
[解決済み] アセンブリ言語 jeジャンプ機能
-
[解決済み] movqアセンブリ機能
-
[解決済み] Collatz予想の検証を行うC++のコードは、なぜ手書きのアセンブリよりも高速に動作するのでしょうか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Nasmエラー:オペコードとオペランドの無効な組み合わせ
-
[解決済み] callq命令とは何ですか?
-
[解決済み] popまたはadd esp、4 ? その差は何ですか?
-
[解決済み] CPUのParity Flagは何のためにあるのですか?
-
[解決済み] .quadディレクティブはアセンブリでどのように機能するのですか?
-
[解決済み] ARMはSDIVとUDIVを区別していますが、ADD、SUB、MULでは区別していないのはなぜですか?
-
[解決済み] オブジェクトファイルのシンボルテーブルとリロケーションテーブル
-
[解決済み] アセンブリ言語 jeジャンプ機能
-
[解決済み] ワードptrとは何ですか?
-
[解決済み] MIPS:lw(ロードワード)命令