在Linux上编译Windows汇编代码

4
这是一项作业任务,但非常简单。该任务附带一个可工作的汇编文件。我只需要帮助将其在Linux上编译,而不是Windows。我正在使用Ubuntu。我已经安装了mingw32。任务本身是添加一些功能,而不是编译它。
文件本身在这里:这里(链接请勿解释)。代码太多了,无法包含,此外,代码能正常工作,也不是很有趣。
现在,有人知道我如何在Linux上编译它吗?如果此代码与Linux兼容,我们就不需要mingw32。但如果不兼容,我们可以使用mingw32。在Windows上我们应使用NASM、Alink和td等工具。
希望有人能提供一些想法,我不想为这个简单的任务安装Windows。

如果您手边没有 Windows 电脑,那么在编译后如何测试它? - Greg Hewgill
1个回答

6
这是一个DOS汇编程序。INT 21 函数的调用也可以证明这一点。虽然在Linux下可以进行汇编,但是你将无法将其链接到DOS可执行文件并测试。
你需要DOS系统。
幸运的是,你可以在Ubuntu上安装DOSBOX并使用它。请参考https://help.ubuntu.com/community/DOSBox
然后,你需要获取NASM(一种在DOS中工作的汇编器)并进行安装,具体操作请见http://www.nasm.us/doc/nasmdoc1.html#section-1.3.1
接着获取ALINK,它同样支持DOS,请访问http://alink.sourceforge.net/
TD比较棘手。如果你能找到TurboDebugger 1.0版本,那么它可以在DOSBOX中运行,但较新的版本则不能。该软件曾随Borland C++编译器免费提供,但我不知道该版本号。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接