|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 |
|
Membre actif
![]() Mikaël Chercheur en informatique Inscription : juillet 2002 Messages : 109 ![]() |
j'assemble de puis pas tres longtemps avec tasm mais je sais pas m'en servir et je me demandais si il existait des compileurs 'facile et puissant'
sinon si vous savez ou je peu trouver de la doc sur tasm (si possible en francais) enfin sous linux qu'est ce qui existe pour assembler? merci d'avance!
__________________
portfolio |
|
|
00
|
|
|
#2 |
|
Membre régulier
![]() Inscription : septembre 2002 Messages : 96 ![]() |
Comme assembleur facile et puissant (et qui marche sous linux) , il existe Nasm:
http://sourceforge.net/projects/nasm/ |
|
|
00
|
|
|
#3 |
|
Membre Expert
![]() ![]() Inscription : mai 2002 Messages : 727 ![]() |
Personellement, j'utilise FASM : petit, complet, performant, et l'auteur est très actif : chaque fois que je vais sur le site pour vérifier l'url, il y à une nouvelle version !
http://fasm.sourceforge.net
__________________
Smortex Les FAQ Assembleur - Linux In The Beginning Was The Command Line Neal Stephenson |
|
|
00
|
|
|
#4 |
|
Membre actif
![]() Mikaël Chercheur en informatique Inscription : juillet 2002 Messages : 109 ![]() |
lut smortex c'est moi deqth apres stx asmed j'ai pris fasm mais ya plein de truc qui son differents de tasm: PROC NEAR il en veu pas, les include je sais pas comment ca marche, l'ecriture directe en mem graphique ca marche pas pareil non plus... si il existe de laide sur fasm (et des exemples ) ce serait surement plus facile de changer!
__________________
portfolio |
|
|
00
|
|
|
#5 |
|
Membre Expert
![]() ![]() Inscription : mai 2002 Messages : 727 ![]() |
Personellement, je le trouve moins ch*** que certains compilos : un programme genre :
Marche Impec ! Pas besoin de trimbaler "Machin:", "END Machin" et autre... Certe, la doc de FASM est relativement pauvre (Elle n'est pas terminée), mais je ne trouve pas que ca soit un problème car : - On trouve pas mal d'exemples sur le site de FASM. - On peut trouver un OS développé entièrement avec FASM. - Les sources sont fournies avec l'exe. Généralement, les modifications à apporter à un code sont mineures : Es:[Di] devient [Es Le seul défaut que je trouve à se compilateur est au niveau de la recherche des fichiers include : il ne scane pas le dossier du .asm que l'on compile et cela peut poser des problèmes si on compile depuis un autre dossier (Je vais en parler à l'auteur, sauf si cette fonctionnalité à été ajoutée dans la dernière version). |
|
|
00
|
|
|
#6 |
|
Invité régulier
![]() Inscription : novembre 2002 Messages : 44 ![]() |
Ya masm aussi un assembleur sous windows, je crois que c'est un Freeware développé par micro$oft allucinant non ?
http://www.protools.cjb.net Je suis pas sur de l'URL. Salut @+ |
|
|
00
|
|
|
#7 |
|
Futur Membre du Club
![]() Inscription : mars 2002 Messages : 24 ![]() |
moi j'utilise NASM que je trouve plutot bien :
* Gratuit * Existe sous Windows et Linux * pas chiant * Documenté correctement |
|
|
00
|
|
|
#8 |
|
Membre actif
![]() Inscription : mai 2003 Messages : 133 ![]() |
Je suis peut-être un
mais j'ai toujours du mal avec FASM...Sinon vu que je ne suis qu'un noob j'utilise encore parfois le debug de windows |
|
|
00
|
|
|
#9 |
|
Invité de passage
![]() Inscription : juin 2003 Messages : 2 ![]() |
Bonjour a tous...
Pour info, vous pourrez trouver tout ce dont vous avez besoin pour MASM32 ici : http://www.chez.com/asmgges/index.htm qui integre une IDE, les LIBS, les en-tetes, etc, etc... Plus les excellents "tutoriaux" de Iczelion ! Il existe aussi un autre compilateur pour Win32 qui s'appele SpAsm bien equipe et disponible ici : http://betov.free.fr/SpAsm.html NOTA : MASM est base sur la syntaxe INTEL, tandis que SpAsm est comme NASM, c.a.d base sur la syntaxe AT&T Avantages et inconvenients : MASM est disponible que sous Win32 Syntaxe plus intuitive Facilite d'utilisation En plus la syntaxe utilisee est la meme que lors de l'integration de code ASM sous VC++ (portage code...) NASM est dispo sous Win32 et Linux Syntaxe plus precise, mais moins intuitive Forte communaute de developpeur Voila c'est tout.. |
|
|
00
|
|
|
#10 | ||
![]() ![]() Ingénieur développement logiciels Inscription : mai 2002 Messages : 3 762 ![]() |
J'utilisais TASM / TASM32, mais récemment je me suis mis à NASM et il m'a séduit ! Certes au début il faut un peu s'habituer à la syntaxe, mais la doc précise tout ce qu'il faut savoir, et d'autre part, la syntaxe est plus simple et plus rigoureuse (plus proche de la machine). Attention toutefois, NASM n'est qu'un assembleur, il te faut en + un linker pour produire du code exécutable. Sous Win32, le couple NASM + ALINK marche très bien, à condition d'avoir également les fichiers win32n.inc et win32.lib (respectivement pour nasm et alink).
Voici un "hello world" version nasm : Code :
|
||
|
|
00
|
|
|
#11 |
|
Invité de passage
![]() Inscription : juin 2003 Messages : 2 ![]() |
Tres juste OVH, il te faut en effet un linker pour creer un PE. ALINK est un excellent choix
Ceci dit, si tu commence a Start Adress 0100h, et que tu fais un *.com tu n'en a pas besoin |
|
|
00
|
|
|
#12 |
![]() ![]() Ingénieur développement logiciels Inscription : mai 2002 Messages : 3 762 ![]() |
Effectivement, et tu me fais penser que nasm permet de créer facilement aussi des secteurs de boot par exemple, mais aussi d'inclure des fichiers binaires dans le source etc. Bref, nasm c'est du tout bon
|
|
|
00
|
|
|
#13 |
|
Membre chevronné
![]() Inscription : juillet 2002 Messages : 842 ![]() |
Je ne vois pas en quoi la syntaxe est plus rigoureuse ou plus logique, ni même plus proche de la machine
|
|
|
00
|
|
|
#14 |
|
Membre actif
![]() Inscription : mai 2003 Messages : 133 ![]() |
Je me posais une question sur lec ompilateurs... est-ce que ils sont compatible avec les prcocesseurs les plus avancés, je veux dire: signalent-ils comme faux les intructions de 3DNow! d'AMD, par exemple, ou supportent-ils les intructions basées sur des reg64?
|
|
|
00
|
|
|
#15 |
|
Membre habitué
![]() |
cela depend des compilateurs certains propose les instructions tel que sse 3DNow! ect.
sinon il bloque puisqu'il ne connait pas l'instruction il est toutefois possible de coder toutes les instructions en langage machine : db 90h = Nop |
|
|
00
|
|
|
#16 | |
![]() ![]() Ingénieur développement logiciels Inscription : mai 2002 Messages : 3 762 ![]() |
Citation:
Plus de détails ici : http://194.65.3.199/win32asm/tutorial/gij.html |
|
|
|
00
|
|
|
#17 |
|
Membre chevronné
![]() Inscription : juillet 2002 Messages : 842 ![]() |
- La directive PROC permet de definir une convention d'appel et de générer des codes prologues/epilogues. Je ne vois pas en quoi elle est inutile.
- Le mot clé offset a son utilité. Ces deux assembleurs on choisi d'opter pour la convention d'ecriture dans laquelle un nom de variable designe son contenu. Ansi après la déclaration : 'Variable' designe le contenu de la mémoire. D'où dans se modèle l'utilité du mot clé offset. Maintenant ce qui justufue ce choix, est la compatibilité avec les langafges de haut niveau. Il est absurded de programmer entièrement en asm c'est important. En C après la déclaration : 'Variable' designe bien le contenu de la variable, et &Variable son adresse. En cela cette syntaxe est très coherente. - Dans le débuguerur que j'utilise la syntaxe es:[bx] est utilisée. |
|
|
00
|
|
|
#18 |
|
Membre confirmé
![]() Inscription : décembre 2002 Messages : 339 ![]() |
- Pour être utilisateur de TASM, je n'utilise jamais les PROC, donc même dans TASM ça peut être oublié s'il le faut
- Je suis d'accord avec Blustuff que l'offset est important. Il y a une différence énorme entre : et Le premier est codé par A1h et met dans AX le contenu de 'variable'. Dans le deuxième cas (codé B8h), on met dans AX l'adresse (offset) de où se situe 'variable '. Y'a quand même une énorme différence qui apporte souvent des erreurs de programmation - Au niveau du debugger, moi aussi je n'ai que des es:[bx] et pas de [es:bx]. Mais je pense que c normal car on doit avoir les mêmes debuggers avec Blustuff. Par contre, dans toute la litérature que j'ai lu, tout le monde adressé de la manière es:[bx] et pas de la manière [es:bx]. A se demander si ce n'est pas une "norme" ?
__________________
Ma boule de cristal s'était éclaircie et puis plus rien. Alors je me suis mis à internet et maintenant j'ai plus de renseignements qu'avec cette satané boule ..... |
|
|
00
|
|
|
#19 | ||||
|
Nouveau Membre du Club
![]() Inscription : juin 2003 Messages : 29 ![]() |
L'équivalent avec NASM serait:
Code :
Code :
|
||||
|
|
00
|
|
|
#20 | ||
|
Membre confirmé
![]() Inscription : décembre 2002 Messages : 339 ![]() |
je préfèrerais quand même un compilateur avec comme notation :
Code :
__________________
Ma boule de cristal s'était éclaircie et puis plus rien. Alors je me suis mis à internet et maintenant j'ai plus de renseignements qu'avec cette satané boule ..... |
||
|
|
00
|
Copyright © 2000-2013 - www.developpez.com