2016-03-26 40 views
0

私はDOSBoxをdebug.exeと64ビットシステムで使用しようとしています。手動でコマンドを入力すると、正常に動作します。DOSBox:debug.exeがfile-processesコマンドを正しく読み込みません。

debug < [file] 

と入力した場合、ファイルからの入力をリダイレクトすると次のようになります。最初を除くすべての行では、このようなエラーが表示されます。

enter image description here

DOSBoxを、最終的にハングアップしてクラッシュします。これを修正する方法はありますか?

私はコマンドとして処理しようとしています入力ファイルがある:

a 100 
jmp 145 
db 'Hello, World!', 0D, 0A, 'Press any key to continue . . .$' 

a 145 
mov ah, 09 
mov dx, 102 
int 21 
mov ah, 08 
int 21 
int 20 

rcx 
100 
n hello.com 
w 
q 
+0

ファイルにテキストをコピーし、それをdebug.comにパイプすることで、メッセージを出力するhello.comを作成することができます – Tommylee2k

答えて

5

私はあなたがこのシナリオで見ている現象を再現することができます

  • DOSBoxを0.74、WindowsおよびLinux
  • にWindows XPからのDEBUG.EXEがDOSBoxにコピーされました。
  • さまざまなバージョンのMS-DOSからのDEBUG.EXEにより、予期しないハングを含む問題が発生します。別の関連する問題については、Stackoverflow questionを参照してください。

DEBUG.COMのバージョンが、期待通りに動作するFreeDOSから見つかりました。私はDEBUG.COMを私のウェブサイトからダウンロードできるようにしました。あるいは、SoftpediaからZIP Fileをダウンロードし、DEBUG.COMを抽出することもできます。

私はDEBUG.COMを実行すると、私はこの取得:

S:\>debug.com <hello.asm 
-a 100 
0BFB:0100 jmp 145 
0BFB:0102 db 'Hello, World!', 0D, 0A, 'Press any key to continue . . .$' 
0BFB:0131 
-a 145 
0BFB:0145 mov ah, 09 
0BFB:0147 mov dx, 102 
0BFB:014A int 21 
0BFB:014C mov ah, 08 
0BFB:014E int 21 
0BFB:0150 int 20 
0BFB:0152 
-rcx 
CX 0000 
:100 
-n hello.com 
-w 
Writing 00100 bytes 
-q 

S:\>hello 
Hello, World! 
1

はDEBUG.EXEスクリプトのリダイレクトをDOSBoxを0.74に同じ問題を抱えていました。 DEBUG.EXEにリダイレクトするときに、スクリプトファイル内の行末の文字を[CR] [LF]から[CR]に変更することで修正できることが判明しました。

SciTEのエディタにファイルを貼り付けると、行末文字を表示し、これを示した:

100 {CR] [LF] JMP 145 [CR] [LF] ....エトセトラ

Iファイルを保存

エトセトラ....

100 {CR] JMP 145 [CR]を取得し、単独で[CR]にEOL文字を変更するためにSciTEのにオプションを使用する、およびそれを問題なくDEBUG.EXEにリダイレクトすることができました。 なぜ[CR] [LF]がDEBUG.EXEで問題を引き起こすのか不明ですが、これが役立つことを願っています。

DEBUG.COMは、グリッチのないEOLシーケンスを扱います。その代わりに、特に拡張機能を使用するのが理にかなっています。しかし、この修正プログラムでは、DEBUG.EXEを使用することができます(FWIW)。 Sciteエディタはきれいなツールです。

0

Dosbox内のDebugのスクリプトファイルを実行している同じ問題が見つかりました。 しかし私は別のエディタ:Notepad2を見つけました。偉大な小さな実行し、アセンブラの単語を強調表示する色を変更します。 ただし、デバッグバージョン1.25を使用していませんでした。

関連する問題