IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Assembleur Discussion :

Quel compilateur choisir pour l'assembleur ? [Débat]


Sujet :

Assembleur

  1. #81
    Candidat au Club
    Profil pro
    Inscrit en
    Mai 2011
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 3
    Points : 4
    Points
    4
    Par défaut
    Si ma mémoire est bonne l'émulateur REAL ICE est non recommande.
    Trop de scripts et des bugs dans tous les sensés...

  2. #82
    Membre actif Avatar de golden boy
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2010
    Messages
    120
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2010
    Messages : 120
    Points : 230
    Points
    230
    Par défaut
    edfed:
    petite question : est-ce que fasm fait de soi-disant "optimisation" en modifiant salement le code initial ou bien alors il se contente juste de traduire les mnémo en instructions sans essayer d'être plus malin que nous ?
    (je ne prétends pas être plus malin qu'un assembleur)

  3. #83
    Membre éclairé
    Avatar de edfed
    Profil pro
    être humain
    Inscrit en
    Décembre 2007
    Messages
    476
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : être humain

    Informations forums :
    Inscription : Décembre 2007
    Messages : 476
    Points : 701
    Points
    701
    Billets dans le blog
    1
    Par défaut
    fasm compile le code de sorte à ce qu'il soit le plus petit possible.

    c'est principalement autours des jumps et calls qu'il y a lieu d'optimiser pour un compilateur.

    un jump avec deplacement 8 bits prend moins de place et s'execute plus vite que ses homologues 16 ou 32 bits.

    une première passe va creer les labels (etiquettes et constantes), une liste des references presentes dans le code source.
    une fois la liste d'etiquettes creée, il faut leur donner une valeur, une adresse.

    les jumps sont mis en forme 8 bits une première fois, et les labels sont retestés.
    si des jumps doivent sauter plus loin, il sont reajustés en 16 ou 32 lors des passes suivantes. au final, nous avons la forme de jump optimale quel que soit le cas.

    voilà en quoi fasm optimise la taille du code.


    pour les autres optimisations, c'est au programmeur de decider, le compilo à rien à voir dans l'invention d'un algo plus rapide.

  4. #84
    Membre actif Avatar de golden boy
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2010
    Messages
    120
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2010
    Messages : 120
    Points : 230
    Points
    230
    Par défaut
    Ok, en fait je demandais ça car il m'est arrivé avec NASM de constater que le code obtenu par désassemblage n'était pas le même de ce que j'avais écrit (et je ne parle pas d'opcode synonymes, le code était vraiment légèrement différent).

  5. #85
    Membre actif

    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    193
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 193
    Points : 277
    Points
    277
    Par défaut
    Jwasm nouvelle version
    http://www.japheth.de/JWasm.html
    Remplace (presque) ml et permet un usage commercial.

  6. #86
    Invité
    Invité(e)
    Par défaut Quel assembleur?
    Bonjour,
    Il y a (bien) longtemps, je programmais en assembleur avec Masm 5, puis 6. Je voudrais m'y remettre aujourd'hui mais j'avoue que j'hésite.
    Masm 32 me tenterait bien mais je vois qu'il n'intègre pas toutes les plus récentes instructions des i5 et i7, je veux parler des compatibles 64/32 (notamment les AES-NI et autres). De plus, je ne sais pas quand il passera au 64 bits.

    Précision : je ne me suis jamais mis au C. Je préfère, par goût, Power Basic qui permet de mixer allègrement instructions Basic et assembleur.
    Enfin, je précise que je suis plus fasciné par l'assembleur que par sa réelle utilité. Voilà, tout est dit...

    Merci d'avance pour vos éventuelles suggestions

  7. #87
    Invité
    Invité(e)
    Par défaut
    Devant cet océan de silence, je choisis de me répondre à moi-même, 2 ans après...

    J'ai finalement opté pour GoAsm

    Points forts:
    -tout est fait pour simplifier l'écriture. Notamment cette possibilité d'écrire le message au lieu de son pointeur procure une merveille de lisibilité
    -Doc extrêmement complète que j'ai presque fini de traduire en français (stade des relectures et corrections...)
    -il est à jour au niveau des instructions
    -il gère le 64 bits sans problème

    Le site de Jeremy Gordon : http://www.godevtool.com/

    J'utilise ce produit avec l'IDE Easy Code dans sa version multi-langages (GoAsm, Masm, Nasm, etc.) qui intègre le mode "Visual"

    Et, devinez? Je suis satisfait!

  8. #88
    Expert éminent sénior
    Avatar de Kannagi
    Homme Profil pro
    cyber-paléontologue
    Inscrit en
    Mai 2010
    Messages
    3 214
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cyber-paléontologue

    Informations forums :
    Inscription : Mai 2010
    Messages : 3 214
    Points : 10 140
    Points
    10 140
    Par défaut
    Pas beaucoup utilise l'asm aussi
    Tes choix sont très orienté Windows ^^'

    Pour ma part comme IDE j'utilise Geany (qui est un IDE généraliste il peut servir pour le C , Python ou autre), comme assembleur cela dépend de mes utilisation :
    -GNU assembler (principalement pour x86 ,MIPS ,autre)
    -VASM (principalement pour M68000 , ARM)
    -wla-dx (6502,z80)
    -Nasm (pour x86)

  9. #89
    Invité
    Invité(e)
    Par défaut
    Bah, je me suis toujours satisfait de DOS puis Windows. Et, comme c'est l'OS le plus répandu, je n'ai jamais éprouvé le besoin d'aller ailleurs. Quant à l'assembleur, c'est surtout qu'il donne accès aux instructions processeur qui sont souvent fascinantes par leurs possibilités. Exemple parmi d'autres : les instructions de cryptage AES...
    Comme je ne suis pas un pro, je me contrefous d'éventuels impératifs de rentabilité. Cela dit, quand je vois la complexité du code C++ lorsqu'il s'agit de manipuler des API, je ne trouve pas que l'assembleur ait à rougir.

    En tout cas, merci pour l'inventaire de tes choix. C'est toujours intéressant de connaître les pratiques des uns et des autres !

  10. #90
    Membre à l'essai
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2014
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Décembre 2014
    Messages : 24
    Points : 17
    Points
    17
    Par défaut quel est l'assembleur utilisé par mon Dell inspiron?
    Bonjour,
    je suis en train d'apprendre le "hacking" et je voudrais programmer en assembleur.
    comment savoir quel assembleur utilise mon Dell Inspirpn
    merci

  11. #91
    Invité
    Invité(e)
    Par défaut H comme À cheval
    Citation Envoyé par Cyrano.B Voir le message
    Bonjour,
    je suis en train d'apprendre le "hacking" et je voudrais programmer en assembleur.
    comment savoir quel assembleur utilise mon Dell Inspirpn
    merci
    Un coup de Google m’a donné le renseignement: processeurs Intel x86 et x64. J’imagine que Dell propose également des machines avec de l’AMD. Franchement, oublie le hacking si tu n’es pas une “bête” en assembleur, ce qui semble être ton cas. Au mieux tu risques de pourrir complètement ton propre ordi comme premier résultat tangible. Et puis, le hacking, c’est un tantinet illégal...

  12. #92
    Membre à l'essai
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2014
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Décembre 2014
    Messages : 24
    Points : 17
    Points
    17
    Par défaut
    merci pour cet encouragement

    je travaillais dans l'admin systemes et reseaux et suis en pré retraite.
    je n'ai pas l'intention de cracker les systemes mais essentiellement de "m'amuser" sur mes ordis.

    j'ai un serveur pfsense et 5 ordis sous Centos, Ubuntu et Debian.
    j'ai 2 Lan connectés via un switch administrable à ma machine pfsense
    j'utilise OpenNMS pour la supervision et FusionInventory pour l'inventaire

    je m'intéresse à la sécurité et voila pourquoi je desire apprendre l'assembleur et un autre langage comme le C C++ ou Python

    donne moi ton avis. Quels langages étudier?
    Merci

  13. #93
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Android317 Voir le message
    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 !
    ...
    Es-tu sûr du lien car Masm32 n'y apparaît pas, de même que les tutos d'Iczelion ?
    Mais, peut-être ai-je mal compris...

  14. #94
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Cyrano.B Voir le message
    ...
    je m'intéresse à la sécurité et voila pourquoi je desire apprendre l'assembleur et un autre langage comme le C C++ ou Python

    donne moi ton avis. Quels langages étudier?
    Merci
    Je ne vais m'exprimer que sur l'assembleur car, dans les autres langages que tu cites, il y a des gens plus compétents que moi sur ce site.
    Pour ma part, j'utilise habituellement MASM par habitude (depuis les années 80 !). Je l'utilise maintenant sous Visual Studio 17 dans sa version gratuite. Il intègre MASM32 et MASM64 tous deux à jour.
    J'utilise aussi GoAsm dont j'ai traduit en français la notice de l'assembleur sur développez.com. Taper "Goasm en français" sur Google.
    Je ne connais pas les autres sinon un peu NASM que je trouve cependant déroutant par son utilisation de la syntaxe AT&T, mais c'est strictement personnel...

    Pour te faire la main, plusieurs documents :
    - notice en français de l'assembleur GoAsm (oui, je vends un peu ma soupe...)
    - les 35 tutos d'Iczelion qui constituent sans doute la meilleure initiation qui soit (mais en anglais) et que je traduis en français en ce moment
    - l'ouvrage Windows Programmation 5° édition de Charles Petzold en anglais et consacré au C mais une référence absolue de programmation de l'interface GUI de Windows. De plus, c'est facilement transposable à l'assembleur avec un peu d'habitude.
    - les différents manuels d'Intel (très épais)
    - les travaux d'Agner Frog sur l'optimisation

    Evidemment, j'adhère à tout ce qui a été dit sur les autres assembleurs car, tout est affaire de familiarisation avec le logiciel.
    Seul critère de choix : prends le plus à jour concernant les instructions processeur implémentées.

  15. #95
    Membre à l'essai
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2014
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Décembre 2014
    Messages : 24
    Points : 17
    Points
    17
    Par défaut
    merci,
    je ne travaille que sous Linux, pas sous Windows pour l'instant.
    je vais regarder ta doc mais peux tu me donner un équivalent de Visual Studio sous Linux?

  16. #96
    Expert éminent sénior
    Avatar de Kannagi
    Homme Profil pro
    cyber-paléontologue
    Inscrit en
    Mai 2010
    Messages
    3 214
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cyber-paléontologue

    Informations forums :
    Inscription : Mai 2010
    Messages : 3 214
    Points : 10 140
    Points
    10 140
    Par défaut
    Citation Envoyé par Cyrano.B Voir le message
    je vais regarder ta doc mais peux tu me donner un équivalent de Visual Studio sous Linux?
    Ben c'est simple , il y'en a pas
    Si tu parle en terme de 'qualité' du logiciel ,sinon il y'a d'autre IDE ceux que beaucoup apprécie sur Linux sont Sublime Text et Atom , personnellement j'utilise Geany assez léger (il prend a peu près 20mo) et facilement configurable :p

  17. #97
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    17 452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 17 452
    Points : 43 103
    Points
    43 103
    Par défaut
    Si tu débutes, je te conseilles de commencer par Python, le C, et venir ensuite à l'assembleur si tu le souhaites.

    Commencer par l'assembleur est une aberration, beaucoup plus compliqué à prendre en main et très peu utilisé.

    A la place de Visual Studio, tu peux utiliser un IDE comme Geany très léger, (mais peut-être aussi léger en fonctions, je ne crois pas qu'il y est l'affichage des paramètres demandés par les fonctions). Celui qui fait référence est Eclipse, mais c'est une usine à gaz.

    Pour l'assembleur, celui fourni de base avec Linux est GAS. Mais tu peux installer Nasm. GAS utilise par défaut la syntaxe AT&T, mais tu peux utiliser la syntaxe Intel avec la directive:
    Les outils Linux utilisant plutôt la syntaxe AT&T, je te conseilles de l’étudier quand-même.
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

  18. #98
    Expert éminent Avatar de CosmoKnacki
    Homme Profil pro
    Justicier interdimensionnel
    Inscrit en
    Mars 2009
    Messages
    2 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Justicier interdimensionnel

    Informations forums :
    Inscription : Mars 2009
    Messages : 2 858
    Points : 6 556
    Points
    6 556
    Par défaut
    Citation Envoyé par Cyrano.B Voir le message
    merci,
    je ne travaille que sous Linux, pas sous Windows pour l'instant.
    je vais regarder ta doc mais peux tu me donner un équivalent de Visual Studio sous Linux?
    La version allégée de Visual Studio: Visual Studio Code est disponible gratuitement sous linux.
    Brachygobius xanthozonus
    Ctenobrycon Gymnocorymbus

Discussions similaires

  1. Assembleur : quel cours choisir pour débuter ?
    Par Débutant_ASM dans le forum Assembleur
    Réponses: 3
    Dernier message: 26/02/2010, 18h36
  2. Quel Compilateur choisir pour le C++
    Par IDE dans le forum Choisir un environnement de développement
    Réponses: 5
    Dernier message: 15/06/2007, 14h09
  3. Quel SGBD choisir pour remplacer Access ?
    Par ggl'Nouveau dans le forum Décisions SGBD
    Réponses: 11
    Dernier message: 17/11/2003, 10h21
  4. Quel outil choisir pour un développement SQL-Server ?
    Par Mouse dans le forum Débats sur le développement - Le Best Of
    Réponses: 23
    Dernier message: 12/08/2003, 06h23
  5. quel langage choisir pour faire de script sous windows
    Par pas05 dans le forum Langages de programmation
    Réponses: 7
    Dernier message: 18/11/2002, 22h42

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo