どうやらWIneは16ビットDOSアプリをサポートしていません。MASM Intelスタイルのアセンブリをワインで機能させる方法を知っている人はいますか?
4 に答える
DosBoxを使用する
NASMを使ってみましたか?これは無料のオープンソースであり、MASMに似たIntelのような構文をサポートし(私は認めますが、使用したことはありません)、Windows、Linux、BSDなどを含むほぼすべてのx86プラットフォームで動作します。
典型的なLinuxディストリビューションまたはBSDポートツリーでは、おそらくすでにパッケージ化されており、すぐに使用できます。(、、、または何でも提供しますapt-get
。pkgadd
)
あなたの問題の解決策はおそらくそこにあります:
http
://www.japheth.de/JWasm.html
これはMASM構文互換のオープンソースアセンブラです(最も奇妙なMASMアドレス構文の場合を含むほぼ100%、構造化プログラミング疑似- ops、macrosなど)。
Intel OMF、MS Coff(32ビットおよび64ビット)、Elf(32ビットおよび64ビット)、Bin、およびDOSMZを生成できます。
そして、それはDOS、Windows、Linuxのバイナリとして存在します。
また、OS / 2、FreeBSDにビルドすることもできます。
したがって、ネイティブLinuxですべてが発生するものを含め、アセンブラーとターゲットバイナリの組み合わせの最大数が得られます。
16ビットコードにコンパイルする場合は、16ビット環境で実行する必要があります。これは、すでに得た提案の1つを意味します。
ただし、実行しようとしていることによっては、16ビット構文を32ビットモードコードにコンパイルできる場合もあります。したがって、x86アーキテクチャで許可されているように、32ビット環境でネイティブに実行する32ビットモードで16ビットアルゴリズムを実行できる可能性があります。ただし、アセンブラは各16ビット命令の前に16ビットエスケープコードを生成するため、生成されるコードは大きくなりますが、16ビットコードのロジックをテストするだけであれば問題ありません。
これがあなたにとって理にかなっていることを願っています。そうでない場合は、もっと尋ねてください...
Linux/UNIXで16ビットDOSプログラムを実行するにはDOSEMUを使用してください