2009-10-25 4 views
4

Ceci est une tâche de devoirs, mais c'est très simple. La tâche est fournie avec un fichier d'assembly de travail. J'ai juste besoin d'aide pour le compiler sur Linux au lieu de Windows. J'utilise Ubuntu. J'ai installé mingw32. La tâche elle-même consiste à ajouter des fonctionnalités, pas à les compiler.Compiler l'assemblage pour Windows sur Linux

Le fichier lui-même est ici: here. Beaucoup de code pour l'inclure, et en plus du code fonctionne et n'est pas si intéressant. Maintenant, est-ce que quelqu'un a une idée de comment je peux compiler ceci sur Linux? Si ce code est compatible avec Linux, nous n'avons pas besoin de mingw32. Mais si ce n'est pas le cas, nous pouvons utiliser mingw32. Les outils que nous supposons utiliser sur Windows sont NASM, Alink et td.

J'espère que quelqu'un aura une entrée, je ne veux pas installer Windows pour cette tâche simple.

+0

Si vous n'avez pas de boîte Windows à portée de main, comment allez-vous tester cela après l'avoir compilé? –

+1

peut-il utiliser du vin? –

Répondre

5

Ceci est un programme d'assemblage DOS. L'appel à INT 21 donne cela. Vous pouvez l'assembler sous Linux, mais vous ne pourrez pas le lier dans un exécutable DOS et ne pourrez pas le tester.

Vous avez besoin de DOS.

Heureusement, vous pouvez installer DOSBOX sur Ubuntu et l'utiliser. https://help.ubuntu.com/community/DOSBox

Ensuite, vous devez obtenir MSNA, qui fonctionne sous DOS et l'installer http://www.nasm.us/doc/nasmdoc1.html#section-1.3.1

ensuite obtenir ALINK, qui prend également en charge DOS http://alink.sourceforge.net/

TD est plus difficile. Si vous pouvez trouver une copie de TurboDebugger 1.0 alors il s'exécutera dans DOSBOX, les versions les plus récentes ne le seront pas. Cela a été inclus avec le compilateur gratuit Borland C++ mais je ne sais pas quelle version était.