2016-11-23 2 views
0

現在Assemblerを勉強していますが、使用するバージョンはかなり古く、DosBoxで実行されているASM.exe、LINK.exe、TD.EXEの3つのファイルで構成されています。それだけでファイル名を使用して、すべてをコンパイルしますのでrun [filename]バッチファイルをコンパイルするアセンブラ

:私は、私が入力したバッチファイルを作成したい、コンパイルするために

asm [filename].asm; 
link [filename].obj; 
td [filename] 

ない: は基本的に私は3つのコマンドを実行する必要があります。

誰でもこのような情報を探す場所を教えてください。

+0

[このトピックについては、http: dostips.com/forum/viewtopic.php?f=3&t=6281)にはバッチで書かれた基本的な8086アセンブラが含まれています_ "アセンブリ言語の基礎を学ぶための教育的ツールとして使用できます" _。このバッチファイルを使用すると、簡単なアセンブリソースコードを作成し、アセンブラやリンカなしで実行可能な16ビットDOS .comファイルを生成することができます! ** ':-)' ** – Aacini

答えて

4

あなたのバッチのようになります。その拡張子のないファイル名を与えるだけ与えた場合:@LotPingsはコメントでmentionnedいたので

IF [%1]==[] (
    echo WRONG SYNTAX: run ^<filename^> 
    exit /b 1 
) 
asm %1.asm 
IF ERRORLEVEL 1 (
    echo ERROR: Could not assemble file. Abandonned execution! 
    exit /b 1 
) 
link %1.obj 
IF ERRORLEVEL 1 (
    echo ERROR: Could not link %1.obj. Abandonned execution! 
    exit /b 1 
) 
td %1 

、パスの操作を可能に拡張子が機能しません。 David wohlferdが提案されているので、実行を開始する前に引数の有無を確認することも安全です。

+5

DosBoxはx86プロセッサと実際のDosをエミュレートします。 4dosのような別のシェルがインストールされていてもcmdのような機能は動作しますが、これはAFAIKの修飾子〜dpnxszを除きます – LotPings

+1

ありがとうございました。私はそれについて考えなかった! –

+1

'asm'コマンドが失敗した場合、' link'コマンドを実行するにはあまり意味がありません。おそらくエラーレベルをチェックしていますか? –

関連する問題