在linux上编译windows的程序集

时间:2009-10-25 08:00:06

标签: assembly compilation

这是一项家庭作业,但它非常简单。该任务附带一个工作程序集文件。我只需要帮助在linux而不是windows上编译它。我正在使用Ubuntu。我安装了mingw32。任务本身是添加一些功能,而不是编译它。

文件本身在这里:here.要包含它的代码很多,除了代码有效并且不那么有趣。 现在,有没有人知道如何在linux上编译它?如果这个代码是linux兼容的,我们不需要mingw32。但如果不是,我们可以使用mingw32。我们假设在Windows上使用的工具是NASM,Alink和td。

希望有人得到一些意见,我不想为这个简单的任务安装Windows。

1 个答案:

答案 0 :(得分:5)

这是一个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 ++编译器中,但我不知道它是什么版本。