显然,WIne不支持16位DOS应用程序。任何人都知道如何让MASM英特尔风格的装配在葡萄酒中工作?
答案 0 :(得分:3)
使用DosBox
答案 1 :(得分:2)
您是否尝试过使用NASM?它是免费的,开源的,支持类似于MASM的类似英特尔的语法[我承认,我从未使用过],并且几乎适用于所有x86平台,包括Windows,Linux,BSD等。
在典型的Linux发行版或BSD端口树上,它可能已经打包并准备好了。 (为您提供apt-get
,pkgadd
或其他任何内容。)
答案 2 :(得分:1)
使用DOSEMU在Linux / unix上运行16位dos程序
答案 3 :(得分:1)
问题的解决方案可能就在那里:
http://www.japheth.de/JWasm.html
它是一个兼容MASM语法的开源汇编程序(接近100%,包括最奇怪的MASM寻址语法案例,结构化编程伪操作,宏等)。
它可以生成Intel OMF,MS Coff(32位和64位),Elf(32位和64位),Bin和DOS MZ。
它存在于DOS,Windows和Linux二进制文件中
它甚至可以构建到OS / 2,FreeBSD
因此,您拥有汇编程序和目标二进制文件的最大组合数,包括那些在本机Linux下发生的一切
如果编译为16位代码,则必须在16位环境中执行它,这意味着您已经获得了一个建议。
但您也可以将16位语法编译为32位模式代码,具体取决于您要执行的操作。因此,您可以在32位模式下执行16位算法,在x86架构允许的32位环境中本机执行。但是,生成的代码会更大,因为汇编器将在每个16位指令之前生成16位转义码,但如果只是测试16位代码的逻辑,则可以。
我希望这对你有意义。如果没有,请求更多......