|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 |
|
Membre Expert
![]() ![]() Inscription : mai 2002 Messages : 727 ![]() |
Il existe de nombreux "outils" pour programmer en assembleur, le principal est le compilateur, mais sans debogueur, sans editeur, il n'est que peu de choses.
J'aimerai lancer un debat ou chacun explique quels outils il utilise, pourquoi, mais egalement, quels outils ils n'utilise pas (et pourquoi). Bref, des retours d'experience sur des outils pour programmer en assembleur, qui pourront guider les personnes qui ne connaissent pas encore se langage :
_________________ Personellement, je ne programme pas beaucoup sur x86. Sur cette plateforme, j'utilise FASM comme compilateur car je l'ai trouve simple d'utilisation, AsmEditor comme E.D.I., que je ne peux pas vraiment commenter car c'est mon I.D.E. (En fait c'est plus un editeur ameliorre qu'un E.D.I.)... Mes projets sur x86 n'ont pas necessite que j'utilise un debugger. Sinon, j'utilise assez regulierement DependencyWalker qui permet de voir les dependances des executables et des librairies. Pour le 68HC11, j'utilisais MiniIDE, un Environnement de Developpement Integre pour la famille 68HC de Motorola.
__________________
Smortex Les FAQ Assembleur - Linux In The Beginning Was The Command Line Neal Stephenson |
|
|
00
|
|
|
#2 |
|
Membre habitué
![]() |
Slt,
Comme beaucoup j'utilise nasm (libre et complet). le projet nasm est un projet actif qui de plus marche sous windows et sous linux. je programme surtout au niveau syteme (bios,mbr) donc il faut du binaire pure g commencé avec a86 et la prog dos donc je tient a mentionné ce compilateur pour sa simplicité bien que tres limité pour ce qui est de l'EDI, c bloc-notes et AsmEditor Pour le debug c plutot TD (meme si c payant...) c tres pratique. ca depent de l'appli et du contexte ! µC : j'utilise un atmel : le AT90S8535, ca me permet de faire du bricolage (ex: programateur de EEPROM BIOS) donc un peu de prog asm. l'outils fournit par atmel compend dans une meme edi le compilateur et le simulateur donc pas de probleme ! A+ |
|
|
00
|
|
|
#3 |
|
Membre du Club
![]() Inscription : août 2003 Messages : 33 ![]() |
Hi,
Tout comme TangiX, j utilise nasm: syntaxe intel, compilo gratuit et porte sous linux/windows. Ce qui permet d ecrire une routine sous windows et compilable a la fois sous linux et windows -> tres pratique pour developper des logiciels sur differentes plates-formes. Je pense que le compilo depend essentiellement du type de programmation de chacun. Par exemple si vous voulez programmer une "belle" IHM pour windows, il est preferable d'utiliser masm, si vous developpez un gestionnaire de boot, utilisez plutot nasm... Pour ce qui est de l IDE, j utilise toujours UltraEdit. Pour debugger: IDA et gdb. Pour desassembler: IDA, ndisasm, HIEW, w32dasm (et bientot mon propre dessassembleur IDA: quand je veux decompiler mon prog et le debugger ndisasm: pour desassembler n importe quoi sous linux HIEW: pour desassembler sous windows en 16bits w32dasm: pour desassembler sous windows en 32bits |
|
|
00
|
|
|
#4 |
|
Membre confirmé
![]() Inscription : décembre 2002 Messages : 339 ![]() |
salut à tous,
moi je tourne que sous windows (je sais j'ai honte, mais j'ai des raisons très contrariantes ..) comme IDE : AsmEditor 3.0 (merci Smortex) comme compilateur : - pour faire un exécutable 16 bits(DOS) : TASM - pour faire un exécutable 32 bits(Windaube) : MASM32 - pour faire un fichier binaire pour un OS : NASM J'ai commencé avec TASM c'est pour ça que je le garde comme compilateur pour les 16 bits mais on peut très bien utiliser MASM. Par contre, pour les 32 bits, y'a pas photos, MASM32 grâce aux tutoriels d'Iczelion (traduit par Morgatte) c'est le top. Le problème c'est quand vous devez mettre en commun les données et le code dans un même segment, passer du 16 au 32 bits et inversement en plein milieu d'un code, en gros faire un OS et bien là, NASM y'a pas photos non plus, y'a rien de plus simple, surtout que la commande ORG fonctionne sans problème avec NASM. Par contre, je le trouve pas super pratique quand il s'agit de faire des progs venant de différents horizons et qui doivent être linkés entre eux (c'est le cas justement avec les 16 et 32 bits quand on fait en plus du C/C++/Delphi/Pascal....) Je fais pas encore de programmation microcontroller, donc pas d'idée là-dessus. Comme désassembleur : IDA ou encore W32Dasm Comme éditeur héxadécimal : IDA un peu mais surtout celui fournit avec AsmEditor.
__________________
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
|
|
|
#5 |
|
Membre du Club
![]() |
Salut !
Personnelement j'utilise RosAsm, qui a l'avantage certain de regrouper tout en un (un EDI sympa avec pas mal de fonctionnalités intéressantes, désassembleur et debugger intégrés, la doc de toutes les mnémoniques et fonctions de l'API Windows accessible en un clic dans l'EDI....) Cela reste limité à la programmation 32 bits (pas de fichiers .com) sous Windows (ou ReactOS...), mais pour moi c'est l'outil le plus convivial (une fois qu'on l'a prit en main, c'est sûr |
|
|
00
|
|
|
#6 |
|
Membre du Club
![]() Inscription : octobre 2004 Messages : 56 ![]() |
A l'Université de Rennes, c'est TASM qu'on utilise...
|
|
|
00
|
|
|
#7 |
|
Membre habitué
![]() Inscription : novembre 2004 Messages : 162 ![]() |
Bonjour à tous (premier post sur ce forum
Je programme sous Windows XP. J'utilise le package MASM32. Je n'ai jamais essayé un autre mais maintenant que je commence à m'habituer et à connaître un bon nombre de ses fonctionnalités, je n'ai plus trop envie d'en changer. Comme IDE, j'utilise SimEd disponible sur le site de RadAsm et développé par KetilO. C'est un petit programme dévellopé en ASM bien pratique. Il permet comme dans le visual studio de cliquer sur un petit "+" devant les fonctions, les .IF, ... afin de les réduire pour une meilleure lisibilité, mais c'est loin d'etre son seul avantage. Je vous conseille de l'essayer, en plus il ne demande pas d'installation. J'utilisais AsmEditor avant mais quelques bugs m'ont fait changer et je ne regrette pas (désolé pour l'auteur qui est sur ce site si j'ai bien compris, s'il veut des explications sur les bugs rencontrés, je suis dispo) Pour editer les ressources : ResEd dispo également sur le site de RadAsm. Un petit bug lorsque l'on change le caption d'un controle puis qu'on le déplace mais sinon il est très léger et possèdes quelques outils intéressants (comme exporter les noms des controles dans un fichier avec les EQUs correspondants) Pour débugger : OllyDBG dont je ne saurais me passer. C'est pour moi le meilleur débugger mais je n'ai jamais essayé SI. Olly à "l'avantage" d'etre en Ring3 et ses nombreux plugins en font un outil très puissant. Voilà, bonne journée à tous |
|
|
00
|
|
|
#8 |
|
Membre habitué
![]() Développeur informatique Inscription : décembre 2004 Messages : 111 ![]() |
Hello,
Pour ma part, pour programmer en assembleur : OS : DOS LINKER : TLINK, LINK COMPILO : TASM, MASM DEBUGGER : TURBO DEBUGGER (TD), le meilleur qu'il m'ait été donné de tester sous DOS |
|
|
00
|
|
|
#9 | |
|
Inactif
Inscription : septembre 2005 Messages : 88 ![]() |
Un excellent produit français, avec une sérieuse équipe de maintenance, avec un énorme tutoriel (le source de RosAsm puisque qu'il est auto-compilé).
Une excellente doc et un système intelligent de déplacement/aide dans l'éditeur... etc. Il ne fait pas de substitution de code et permet toutes les formes d'écritures grâce à la construction de vos macros HHl/LL dans un même source...etc. Le site principal: http://www.rosasm.org/ Le forum dédié: http://www.quanta-it.com/easbell/RosAsmForum/index.php En fait le plus simple est de laisser la parole à René Tournois son concepteur : Citation:
|
|
|
|
10
|
|
|
#10 |
|
Membre confirmé
![]() ![]() Inscription : octobre 2005 Messages : 173 ![]() |
MASM,l'assembleur fournit avec le C++ de microsoft, offre un macro langage de haut niveau .
L'IDE le mien Pourquoi ? Si vous savez vous servir de masm , vous savez aussi vous servir de editmasm.Toutes les fonctions de l'editeur permettent d'écrire du code répétitif , beaucoup de choses se répétent en assembleur et je n'ai pas encore fait le tour de tout. Editmasm ne dévellope aucun pseudo-langage a partir de masm32 http://perso.wanadoo.fr/luce.yves/ Pourquoi l'assembleur ?,c'est le meilleur outil pour connaitre le systeme et savoir ce que l'on fait. Le debugger utilisé par editmasm est Windbg,son utilisation est grandement facilitée par editmasm.Microsoft se decarcasse pour chasser le BUg,il faut en profiter. ToutEnMasm |
|
|
00
|
|
|
#11 |
|
Membre du Club
![]() Inscription : mai 2002 Messages : 52 ![]() |
- Assembleur MASM32.
- Comme debugger SoftIce (J'ai jamais trouvé aussi puissant) (souvant cependant j'utilise l'int 03 pour breaker ou je veux) - Comme desassembleur IDA mais seuleument pour cracker, je ne l'utilise pas pour mes propres programmes puisque je suis sensé savoir qui est quoi. A mon avis IDA est utile uniquement pour l'exploration d'un code inconnu, d'autant plus qu'il est lent au désassemblage, et qu'il faut réactualiser chaque nouvelle compilation. - Sinon comme IDE j'utilise simplement Wordpad pour écrire mon code et un simple fichier *.Bat pour lancer la compilation, l'artillerie lourde n'est pas indispensable et les logiciels avec sur-enchères de fonctionnalités inutiles c'est juste bon à perdre du temps. Une simple fontion "go To Line" à la rigueure est tout ce qu'il faut. - Par contre je commente énormément mon code (en début de procédure principalement), et par dessus tout je l'éclate en plusieurs fichiers *.asm. Chaque grande fonctionnalité du projet est placé dans un fichier distinct. Et surtout.... une copie du projet global est sauvegardé chaque soir dans un dossier du type jj-mm-aaaa pour avoir la possibilité de revenir qques jours en arrière lorsque qquchose de grâve cloche vraiment. Dans chaque dossier se trouve en entête un fichier __Avancement.txt qui récapitule les grandes étapes résolues et celles à résoudre pour avancer. Ca permet de tout de suite savoir ou on en est quand on doit revenir en arrière de qques jours à cause d'un problème. C'est une méthode parmi d'autres... pas forcément la meilleure, mais elle permet de vite s'y retrouver. (Même après plusieurs mois d'inactivité pour faire évoluer un proramme).
__________________
@+ |
|
|
00
|
|
|
#12 |
|
Membre régulier
![]() Consultant informatique Inscription : avril 2005 Messages : 218 ![]() |
Nous a l'universite de l'USTHB (Alger) on utilise MASM mais sur 16 bits.
|
|
|
00
|
|
|
#13 |
|
Invité régulier
![]() Inscription : janvier 2006 Messages : 7 ![]() |
Bonjour,
J'utilise MASM. On trouve le package complet sous le nom de MASM32 que l'on peut télécharger. Ce package contient de nombreux exemples et les bibliothèques et utilitaires nécessaires. MASM version ML 6.15 permet de programmer en 16 bits ou en 32 bits. Il existe aussi une version masm64 pour les AMD64, mais je l'ai pas encore essayée (il faudra d'abord que j'achète un AMD 64). |
|
|
00
|
|
|
#14 |
|
Invité de passage
![]() Inscription : mars 2006 Messages : 2 ![]() |
Bonjour à tous,
Je cherchais un assembleur qui me permette de générer du code AMD64 sous Debian Linux AMD64. J'ai trouvé YASM. Ca marche bien, j'arrive facilement à linker avec GCC. Pour le debug, je reconnais que c'est plutôt frustre : gdb en ligne de commande ! L'avantage c'est qu'il existe des versions 32 bits de YASM pour Windows. Et la syntaxe est très proche entre 32 bits Pentium et 64 bits AMD64. Comme cela, quand vous avez écrit de petites fonctions assembleur qui marchent en 64 bits, l'effort pour passer au 32 bits est très petit. (Il faut dire que je fais du calcul pur : Développement d'une bibliothèque optimisée pour l'AMD 64 qui implémente les calculs sur les grands nombres entiers). Ainsi avec des bouts de programmes en C et en C++, récupérés à droite à gauche, + YASM, j'arrive assez facilement à cibler les environnements suivants : Windows 32 bits, Linux 32 et 64 bits. Pour Windows 64 bits, je ne dispose pas de l'OS pour faire des tests. Sous Windows 32 bits, j'utilise comme IDE C++BuilderX qui était fourni avec un bouquin de C++ que j'ai acheté. J'ai réussi à intégrer YASM à l'IDE, ainsi, je peux facilement éditer, et corriger les erreurs de syntaxe. Nicolas |
|
|
00
|
|
|
#15 |
|
Candidat au titre de Membre du Club
![]() Inscription : mars 2006 Messages : 31 ![]() |
masm 6.15 pour tester des instructions tres simples et visualiser les registres
et winasm pour developper en haut niveau |
|
|
00
|
|
|
#16 |
|
Nouveau Membre du Club
![]() ![]() Inscription : novembre 2002 Messages : 32 ![]() |
X86 (Intel, etc) :
Nasm (http://www.kernel.org/pub/software/devel/nasm/), Tasm, Masm... 68K (Motorola) : Easy68K (http://www.monroeccc.edu/ckelly/EASy68K.htm) Pour AVR (Atmel) : WinAVR (http://winavr.sourceforge.net/) et AVRStudio 4 (http://www.atmel.com/dyn/products/to...p?tool_id=2725) Pour Pic (Michoship) : MPLab 7 (http://www.microchip.com) et gputils (http://gputils.sourceforge.net/) Pour 8051 (Intel, etc) : asem-51 (http://plit.de/asem-51/) Pour Z80 : ca fait un petit moment que j'ai pas utilisé de Z80, donc voir la (http://www.z80.info/z80sdt.htm#SDT_ASM) apres j'utilise beaucoup de Xilinx, comme par exemple pour faire ces propres core de CPU... |
|
|
00
|
|
|
#17 |
|
Invité de passage
![]() Inscription : août 2006 Messages : 1 ![]() |
J'ai appris l'asm sous Dos
avec edit du dos comme editeur masm comme compillateur link et afd comme debugger pour ce que j'ai du faire aux cours (pilotte d'imprimante, transfert de donnée par cable parallele, driver pour certains circuit integré, tripatouillage des int) cela suffisait tout a fait. |
|
|
00
|
|
|
#18 |
|
Nouveau Membre du Club
![]() |
J'utilise MASM32 pour les programmes 32 bits et 16 bits. Pour lier les programmes 16 bits j'utilise le lieur 16 bits de Microsoft.
Pour le déboggage c'est debug pour le 16 bits et ollydbg pour le 32 bits. L'EDI j'utilise RadAsm. |
|
|
00
|
|
|
#19 |
|
Membre confirmé
![]() Matthieu Étudiant Inscription : septembre 2004 Messages : 393 ![]() |
personnellement pour les PIC , et les 68HC11 , le mieux pour moi , s'est isis( proteus)
Le seul moins , pour vous , s'est si vous n'avez pas la lissance éléve , s'est trés cher . Vous pouvez faire , analyse en pas a pas , simuler une carte complète , ( cerveau moteur , écran LCD , diode ...... ) |
|
|
00
|
|
|
#20 |
|
Membre émérite
![]() Étudiant Inscription : septembre 2006 Messages : 510 ![]() |
À voir tous vos posts j'ai l'impression d'être le seul à utiliser Fasm
|
|
|
00
|
Copyright © 2000-2013 - www.developpez.com