64-bit de windows assembleur
Je veux programme 64 bits de windows assemblée (de préférence à l'aide de MSNA). J'ai regardé tout à fait un, mais sur google, mais il semble que je ne peux pas trouver une version 64 bits de windows compilateur. Certains site mentionné ml64 mais il me semble qu'il n'est plus inclus dans VC++. J'ai essayé avec les versions 32 bits de l'assemblée, mais, évidemment, il vient de s'écrase sur mon ordinateur 64 bits. Est-il possible d'écrire, compiler et exécuter les 32 bits de l'assemblée des applications sur une version 64 bits de windows de la machine? Ou doit-il être écrit et compilé en 64 bits?
Grâce.
Pour l'enregistrement, ml64.exe est inclus dans mon installation de VS2010. Je ne sais pas si c'est inclus dans la version Express...
VS2010 Express de l'utilisateur ici, ml64.exe est présent dans Visual Studio/VC/bin/amd64 et bin/x86_amd64 dossiers.
Si vous souhaitez utiliser des MSNA, alors allez simplement à msna.nous et de télécharger la version Win32 de MSNA. Il sera exécuté sur un système 64 bits et il va créer des applications 64 bits.
et DCoder - Merci, je n'ai jamais vérifié mon propre dir do. Je l'ai trouvé sur la mienne.
J'ai essayé, mais mon programme se bloque.. j'ai Peut-être quelques mauvais code. Je vais essayer de trouver un meilleur tutoriel que j'ai suivantes.
VS2010 Express de l'utilisateur ici, ml64.exe est présent dans Visual Studio/VC/bin/amd64 et bin/x86_amd64 dossiers.
Si vous souhaitez utiliser des MSNA, alors allez simplement à msna.nous et de télécharger la version Win32 de MSNA. Il sera exécuté sur un système 64 bits et il va créer des applications 64 bits.
et DCoder - Merci, je n'ai jamais vérifié mon propre dir do. Je l'ai trouvé sur la mienne.
J'ai essayé, mais mon programme se bloque.. j'ai Peut-être quelques mauvais code. Je vais essayer de trouver un meilleur tutoriel que j'ai suivantes.
OriginalL'auteur Jayson Kane | 2012-05-22
Vous devez vous connecter pour publier un commentaire.
Yasm(*) est un moderne, multi-plate-forme de MSNA réécrit l'assembleur qui est capable d'assembler pour les versions x86 et AMD64/x86-64 jeux d'instructions.
Mais... tu veux sans doute dire, c'est que vous avez besoin d'un de l'éditeur de liens pour relier les assemblées de code objet/des fichier(s) pour créer un fichier exécutable. Au moins le totalement gratuit MinGW(Minimale de GNU pour Windows) projet de paquet est livré avec un éditeur de liens(appelés ld) capable d'assembler à la fois 32 et 64 bits de Windows fichiers exécutables à partir des fichiers objets(ELF et PE le format de l'objet, au moins).
Vous pouvez certainement le cross-compiler/build 32 bits projets dans un environnement 64 bits et vice versa, étant donné que vous fournissez corriger les paramètres de ligne de commande à l'assembleur et l'éditeur de liens. Veuillez vous référer à la documentation des outils de votre choix pour plus de précisions.
*) http://yasm.tortall.net/
C'est correct. Merci pour le tuyau, j'ai complètement mal compris le contexte pressé et mixte de la terminologie. J'ai éditer et d'améliorer la réponse pour plus de détails.
Merci beaucoup pour votre post. Je suis à l'aide de ld, de faire le lien, mais il semble être encore de s'écraser. Est-il possible pour vous de me fournir un extrait de code assembleur qui permet de compiler avec yasm et être relié sur un système 64 bits, mais écrit en 32 bits assemblée? Il n'a pas à faire quoi que ce soit. Juste de compiler et d'exécuter sans s'écraser. Ce serait formidable.
Je n'ai pas de machine Windows disponibles, mais sur une machine Linux tout ce que vous avez à faire est d'utiliser la yasm '-f' (\f dans windows?) avec "elf32'('win32' pour Windows) en tant que paramètre. Ensuite, pour ld vous utilisez '-m' (encore une fois, utiliser \ au lieu de) drapeau de 'elf_i386 paramètre pour produire un exécutable 32 bits. Cependant, sur Windows, vous avez besoin de différents drapeaux. Vous pouvez voir la disposition de l'émulation indicateurs en utilisant '-V'(\V ..?) drapeau, puis choisir le meilleur candidat et essayer. Donc dans l'ensemble, il ressemble à ceci: 'yasm certains.asm-o certains.o -f elf32 " et " ld certains.o-o certains.bin -m elf_i386'. Donc il suffit de changer elf32 & elf_i386
OriginalL'auteur zxcdw
Il est possible d'écrire, de les assembler, et exécuter assembly 32 bits sur 64 bits de Windows. J'ai écrit quelques utilitaires dans masm32 sur mon Windows 7 x64-linge. Si vous voulez assembler code 64 bits, je crois que FASM prend en charge 64 bits de code objet.
OriginalL'auteur Brian Knoblauch