Étant donné que cela est en AT & T syntaxe, vous voulez probablement as
et ld
du toolchain MinGW, que vous pouvez utiliser pour construire un exécutable sur ce sujet.
Vous devez ajouter un peu de texte standard supplémentaire au début d'exporter le symbole du point d'entrée et de dire l'éditeur de liens que la fonction va dans le segment .text
:
.text
.global start
Ensuite, vous pouvez monter le fichier et lier:
as filename.as -o filename.o
ld filename.o -e start -o output.exe
l'option -e
indique l'éditeur de liens quelle fonction sera le point d'entrée de l'exécutable.
(J'ai testé cela sur Linux, mais la syntaxe doit être la même dans l'ensemble des outils MinGW sous Windows)
Maintenant, votre fonction d'assemblage ne réalise aucune IO, et ne même pas correctement résilier, donc Si vous exécutez votre exécutable, vous obtiendrez probablement un segfault. Vous devez l'exécuter dans un débogueur, en ajoutant un point d'arrêt à la fin de la fonction et en inspectant rax
lorsque l'exécution arrive.
Une autre option consiste à incorporer ce code dans un bloc asm
dans un fichier C et d'effectuer l'E/S dans C. Cependant, si aucune chaîne d'outils n'est installée, vous pouvez accélérer le résultat manuellement.
tout tutoriel sur le point de faire étape par étape pour la compilation. –
@MinKoKo La demande de ressources hors site, comme les tutoriels, est hors-sujet. Utilisez Google pour cela. –
Est-ce que l'esprit downvoter expliquer? –