2012-05-10 8 views
3

数年前、バッチファイルプログラミングの助けとして、いくつかのx86 DOSアセンブリプログラムを書きました。プログラムは非常に小さい。 .COM版では約2〜3百バイトです。私は現在、これらのプログラムの新しいバージョンを更新して作成しています。ただし、.COMまたは.EXE実行可能ファイルは、64ビットWindowsバージョンでは実行されません。私は最も簡単な方法これらのプログラムを64ビットWindowsで実行するように変換する知っている必要があります。私はDosBoxがそれを行うかもしれないことを知っていますが、Win cmd.exeバッチファイルでプログラムを実行する必要があります。誰も私を助けることができますか?前もって感謝します!64ビットWindowsで古いx86 DOSアセンブリプログラムを実行するには?

+1

簡単な方法はありません。プログラムを16ビットから32ビットのコードに変換するには、書き換えが必要です。数百バイトに過ぎないとあまりにも厳しくなりませんか? –

+0

@HansPassant:OK。という事は承知しています;しかし、私は何を書き直す必要がありますか?これを達成するために私がしていることのサンプルを教えてください。どうもありがとう! – Aacini

+0

直接ビデオ出力やまれな割り込みサービスを使用しない単純なプログラムの場合、[Win32-x64コンソール用MS-DOS Player](http://homepage3.nifty.com/takeda-toshiya/msdos /)。 –

答えて

2

Windows 64ビットでは、16ビットプログラムはまったく許可されません。別の方法を見つけなければなりません。

http://msdn.microsoft.com/en-us/library/bb756962.aspx

https://superuser.com/a/140956

のx86エミュレータはJavaScriptで書かれていたので、エミュレーションが実行可能になります。しかし、私はプログラムの移植や書き直しがはるかに少ないと思う。 http://bellard.org/jslinux/

+0

はい、ありがとうございます。私はすでにこれを知っています:「すべての16ビットの...」アプリケーションは32ビットまたは64ビットのものに変換する必要があります。私はこの問題の解決策を求めています。私の古いDOSプログラムを64ビット版のWindowsで動かせるように変換するには? – Aacini

+0

@Aaciniでは、16ビットの命令を32ビットまたは64ビットの命令に置き換える必要があります。 COM to EXE。C言語などの言語でプログラムを書き直す方が簡単かもしれません。 –

+0

@Aacini、あなたの目的に合わせて変更できるエミュレータを見つけることもできますが、残念ながらOSをエミュレートしたいhttp://www.thefreecountry.com/emulators/pc.shtml –

関連する問題