Comment puis-je exécuter des programmes d'assemblage MIPS sur un linux x86?
Question
Existe-t-il des interpréteurs de ligne de commande ou un autre ensemble de programmes pour Linux x86 afin d’exécuter des programmes d’assemblage MIPS?
J'aimerais pouvoir écrire des programmes d'assemblage MIPS simples et les exécuter à partir de la console de mon ordinateur local.
Je connais SPIM, mais requiert X Windows et je suis curieux de savoir s'il existe de meilleures options.
Modifier: il s'avère que cela ne nécessite pas X Windows. J'ai toujours des problèmes avec SPIM. Pas le meilleur à mon humble avis. La chaîne d’outils compilée Qemu / Cross est un peu plus de travail mais j’ai moins de bizarreries.
La solution
Vous aurez besoin soit d’une chaîne d’outils de compilation croisée, soit de la création de votre propre binutils croisés. Pour une chaîne d'outils prédéfinie, vous pouvez consulter la source de code . Si vous voulez juste compiler l'assemblage, alors tout vous avez besoin de binutils. Il existe des directives sur le wiki Mips de Linux
.Pour la partie émulation, QEmu serait mon choix.
Autres conseils
Incidemment, Spim ne nécessite pas X Windows. Il a aussi une interface de console. Exécutez spim
ou xspim
.
MARS a grandement facilité la programmation de mon assemblage pour l'architecture MIPS. Si vous souhaitez une interface graphique / IDE, je recommanderais MARS à coup sûr.
J'étais dans la même situation hier. Je n’aimais pas non plus SPIM, c’est ce que j’ai fait:
La mise en réseau est assez simple et bien documentée. Cela présente l’avantage de ne pas avoir à manipuler la compilation croisée.
Vous pouvez utiliser gxemul, qui émule une machine MIPS (entre autres, y compris Dreamcast), et est capable d’exécuter de nombreux systèmes d’exploitation (y compris linux, netbsd et autres).
QEmu possède un bon émulateur MIPS. Combinez cela avec un GCC / binutils compilé de manière croisée (techniquement, vous n’avez besoin que de binutils pour obtenir GAS, l’assembleur GNU) et vous êtes prêt à partir.
Peut-être pourriez-vous jeter un coup d'œil à ces émulateurs ? Je ne suis pas un expert mais la liste semble bonne.