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 :

Choisir un Assembleur


Sujet :

Assembleur

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    21
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 21
    Points : 16
    Points
    16
    Par défaut Choisir un Assembleur
    Bonjour,

    Je voudrais me lancer dans l'assembleur, plus par curiosité que par nécessité :)

    J'ai déja fait un peu d'assembleur au lycée (sur un mycro-processeur 68HC11 (si mes souvenirs sont bons)).

    A cette époque on nous avais donné une liste complete des fonctions (mov, cmp, ...), leur rôle et le nombre de cycles qu'ils requierts.

    Mais maintenant je voudrais essayer de faire de l'assembleur sur mon pc (PIII 450), c'est de l'assembleur intel 8086 qu'il faut que je fasse si j'ai bien tout compris.

    Quels outils me faut-il ?
    Quelles documentations sont fondamentales ?
    Quels sites peuvent être interessants ?

    D'avance merci pour m'apporter ces informations, qui je l'espère, servirons à d'autres :)
    Never argue with an idiot, he will drag you down to his level and beat you with experience...

  2. #2
    Membre habitué
    Avatar de zdra
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    164
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2002
    Messages : 164
    Points : 187
    Points
    187
    Par défaut
    Pour les outils, t'as l'embara du choix... l'asm c du 100% gratos donc ya plein de compilo amateur (et professionel) ki sont en freeware. pour ma part g bien aimé NASM. IL existe aussi FASM, TASM, MASM, SPASM,... je connais pas les sites où on peut les dl, mais fait uune recherche google et tu trouvera tt de suite
    This message was powered by:
    Ubuntu GNU/Linux

  3. #3
    Membre expérimenté

    Inscrit en
    Mai 2002
    Messages
    720
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 720
    Points : 1 594
    Points
    1 594
    Par défaut
    Personellement, j'utilise FASM (http://fasm.sourceforge.net) qui est plutôt simple d'utilisation.

    Smortex

    Les FAQ Assembleur - Linux
    In The Beginning Was The Command Line Neal Stephenson

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    21
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 21
    Points : 16
    Points
    16
    Par défaut
    Merci beaucoup pour vos réponse Smortex et Zdra, je m'en vais essayer ces deux compilateurs.

    J'avais déja dl masm, mais bon, je vais laisser tranquillement dans un dossier a dormir, puisque vous ne me l'avez pas conseillé.

    Je vais chercher ces deux autre là, pour voir a quoi cela ressemble
    Never argue with an idiot, he will drag you down to his level and beat you with experience...

  5. #5
    Membre expérimenté

    Inscrit en
    Mai 2002
    Messages
    720
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 720
    Points : 1 594
    Points
    1 594
    Par défaut
    J'ai utilisé MASM au début. De mémoire, il fallait faire :

    MASM NomDuFichier
    LINK NomDuFichier
    BIN2EXEC NomDuFichier
    3 programmes à exécuter successivement.

    Ensuite, j'ai voulu utiliser NASM, mais je n'ai pas résussi à lui faire dire d'où provenaient les erreurs lorsqu'il n'arrivait pas à commpiler

    Et j'ai trouvé FASM. La ligne de commande m'a plu :
    fasm.exe NomFichierAsm.asm NomFichierSortie.ext
    Je n'avais plus qu'à trouver un IDE sympa... Je n'ai rien trouvé qui m'allait, alors j'ai fais le mien
    http://site.voila.fr/programmeurfou/productsfr/asmeditor.htm

    A l'origine, je l'ai développé pour FASM, mais je l'adapte pour qu'il fonctionne même avec les compilateurs nécéssitant 50 commandes à la suite

    Bon développement !

    Smortex

    Les FAQ Assembleur - Linux
    In The Beginning Was The Command Line Neal Stephenson

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    21
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 21
    Points : 16
    Points
    16
    Par défaut
    Smortex, toi mon gars t'es un bon, un très bon :)

    En tous cas un passionné, et un mec sympa (merci de fournir tout ce que tu n'a pas eu au début :))

    Je te souhaite une très bonne soirée :)

    Ps : tu as quoi comme docs sous la main quand tu developpe en asm ?
    Never argue with an idiot, he will drag you down to his level and beat you with experience...

  7. #7
    Membre expérimenté

    Inscrit en
    Mai 2002
    Messages
    720
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 720
    Points : 1 594
    Points
    1 594
    Par défaut
    Salut !

    Concernant NASM, j'ai réussi à le faire parler ! En mettant -s comme paramètre, il affiche les erreurs (Mais j'ai quand même des problème avec lui, donc je continue avec FASM !!!).

    Sinon, je ne fais pas beaucoup d'assembleur : Un peu sur microcontrôleur, et sur PC, je développe des disques bootables (De la bidouille ! Une horloge, un écran multicolore, ...)

    J'avais acheté un bouquin d'initiation à l'asm, qui s'est avéré ne pas m'être très utile (Traitement de chaîne de caractère, et beaucoup d'exmples avec des interruptions DOS, alors que moi, je travaille sans DOS)... Mais il était assez intéréssant.
    Concernant la liste des interruptions (C'est VITAL), le must est celle de Ralf Brown :
    Version en ligne :
    http://www.ctyme.com/rbrown.htm
    A télécharger :
    http://www-2.cs.cmu.edu/afs/cs/user/ralf/pub/WWW/files.html
    (Plusieurs mégas de fichiers texte !)

    Sinon, comme c'est parfois un peu la galère (on sais plus où chercher), on m'a récement donné un truc nommé "HelpPc". Une version allégée (180 Ko Compressé) qui contient pas mal d'infos. Je peux passer le zip aux personnes qui le désirent !

    Bon développement à tous !

    Smortex

    Les FAQ Assembleur - Linux
    In The Beginning Was The Command Line Neal Stephenson

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    21
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 21
    Points : 16
    Points
    16
    Par défaut
    Merci beaucoup pour ta réponse,

    je vais aller matter ca tout de suite.
    Never argue with an idiot, he will drag you down to his level and beat you with experience...

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    21
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 21
    Points : 16
    Points
    16
    Par défaut
    Merci beaucoup pour ta réponse,

    je vais aller matter ca tout de suite.
    Never argue with an idiot, he will drag you down to his level and beat you with experience...

  10. #10
    Membre habitué
    Avatar de zdra
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    164
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2002
    Messages : 164
    Points : 187
    Points
    187
    Par défaut
    Pour ce ki ded NASM, moi g trouvé un éditeur DOS ki donne les messages d'erreur et tout et tout... donc voilà, on se casse pas la tete a faire des ligne ded commande pour compiler.
    This message was powered by:
    Ubuntu GNU/Linux

  11. #11
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    21
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 21
    Points : 16
    Points
    16
    Par défaut
    Moi je ne veut pas que mon code soit dépendant d'un os, alors je me doute que si c'est un assembleur DOS, je vais être dépendant du système DOS.

    Enfin je dit cela, mais au fond de moi je ne le pense pas, je pense que l'assembleur n'est pas dépendant d'un système d'exploitation. Peut être que je me trompe, mais j'ai croisé un post où un utilisateur disait ne pas vouloir utiliser de compilateur DOS pour ne pas en être dépendant.

    Si vous pouviez me donner plus de renseignements à ce sujet.
    Never argue with an idiot, he will drag you down to his level and beat you with experience...

  12. #12
    Membre éclairé
    Avatar de D[r]eadLock
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    504
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 504
    Points : 750
    Points
    750
    Par défaut
    Citation Envoyé par ShinMei
    Moi je ne veut pas que mon code soit dépendant d'un os, alors je me doute que si c'est un assembleur DOS, je vais être dépendant du système DOS.
    Enfin je dit cela, mais au fond de moi je ne le pense pas, je pense que l'assembleur n'est pas dépendant d'un système d'exploitation. Peut être que je me trompe, mais j'ai croisé un post où un utilisateur disait ne pas vouloir utiliser de compilateur DOS pour ne pas en être dépendant.
    En fait tout depend de ce que tu veux utiliser dans ton code. En effet, le DOS fournit differentes interuptions pour avoir acces au disque dur, a l'ecran... Evidemment tu peux tout recoder a la main mais bon...
    Sinon, en fonction de l'os sur lequel tourne ton truc, deja le format de l'executable est different (elf (linux), exe (dos/win) avec headers, com sans header (mais commencant a l'adress 0x100)). Ensuite l'acces des fichiers est different (puisque dependant du file-system).

  13. #13
    Membre expérimenté

    Inscrit en
    Mai 2002
    Messages
    720
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 720
    Points : 1 594
    Points
    1 594
    Par défaut
    C'est simple : les commandes de l'assembleur ne sont pas dépandantes de l'OS (Mov, Inc, ....) Elle ne sont dépandantes que du microprocesseur.

    Par contre, si tu utilises des interruptions DOS (21h par exemple), le programme ne fonctionnera correctement que dans un envoronement DOS (et Windows.)

    Pour pouvoir faire un prog qui fonctionne sans OS (Une disquette bootable par exemple), il ne faut utiliser que des interruptions BIOS (10h par exemple).

    Tu peux regarder cet exemple. Je l'ai fait pour apprendre à récupérer l'heure du PC, mais comme c'est prévu pour être sur une disquette de boot (Programme à écrire sur le secteur de boot), je n'ai pas utilisé d'intrruptions DOS...

    Bon développement !

    Smortex

    Les FAQ Assembleur - Linux
    In The Beginning Was The Command Line Neal Stephenson

  14. #14
    Membre à l'essai
    Inscrit en
    Octobre 2002
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Octobre 2002
    Messages : 16
    Points : 22
    Points
    22
    Par défaut ASM # portabilité
    Citation Envoyé par ShinMei
    Moi je ne veut pas que mon code soit dépendant d'un os, alors je me doute que si c'est un assembleur DOS, je vais être dépendant du système DOS.
    Enfin je dit cela, mais au fond de moi je ne le pense pas, je pense que l'assembleur n'est pas dépendant d'un système d'exploitation. Peut être que je me trompe, mais j'ai croisé un post où un utilisateur disait ne pas vouloir utiliser de compilateur DOS pour ne pas en être dépendant(...)
    Si tu veux que tes programmes ne soient pas dépendants d'un OS ou bien d'un BIOS voir même d'un hardware et bien ne fais pas d'assembleur.
    Il n'y a pas moins portable et moins incompatible que l'assembleur.
    Même avec une cible identique (même jeu d'instruction) les sources sont dépendants des directives (entêtes, prédéfinition, macro) propre à chaque chaîne de développement (assembleur/linkeur).
    Petites remarques au passage (ne le prend pas mal) :
    • - l'assembleur n'est pas compilé,
      - le code assembleur est fait d'instructions (mnémoniques) et non pas de fonctions,
      - ne pas confondre OS avec BIOS.
    Ce qui est obligatoire pour te mettre à l'assembleur c'est d'abord de choisir un micro "cible" (microcontrôleur, microprocesseur ? 8 bits, 16 bits ou 32 bits ?), ensuite que tu te procures les outils et surtout que tu possèdes une bonnes documentation du jeu d'instruction et connaître aussi un peu l'architecture (ou l'OS) de la machine sur laquelle va s'exécuter ton programme.
    Bon courage.

  15. #15
    Candidat au Club
    Inscrit en
    Août 2002
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 2
    Points : 2
    Points
    2
    Par défaut oooo l'asm
    En 2002 et tu veux debuter pa l'assembleur !
    je te conseille de te de bebuter par un langage de haut niveau comme:
    le pascal, C,ada;
    mais debuter par un langage de bas niveau ca ne t'aidera a rien en outre ca va te causez mains problemes......
    mais si tu veux utiliser l'asm pour le crack :la je suis d'accord
    en realite j'ai debuter par le C quand j'avais 24 ans et ca ete facile....

  16. #16
    jbe
    jbe est déconnecté
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    32
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2002
    Messages : 32
    Points : 38
    Points
    38
    Par défaut
    en effet c'est amusant d'utiliser un langage de bas niveau comme l'assembleur a notre epoque surtout comme premier langage! Moi, j'ai commence par du z80 (sur TRS80) et sur Zx80(non pas ZX81)... mais a cette epoque la les C, Pascal, etc... n'existaient pas pour de si petite machine Mais bon pourquoi pas ! Il faut bien commencer un jour, non ?
    A+, JB

  17. #17
    Membre expérimenté

    Inscrit en
    Mai 2002
    Messages
    720
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 720
    Points : 1 594
    Points
    1 594
    Par défaut Re: oooo l'asm
    Citation Envoyé par DIRECT
    mais si tu veux utiliser l'asm pour le crack :la je suis d'accord
    Personellement, je fais l'inverse, je programme en assembleur sous delphi (Assembleur intégrès) pour développer des sécurités...

    Certe, si tu veux développer de grosses applications, ca risque d'être le bordel en asm, mais c'est parfois pratique (Exe d'une dizaine de Ko).

    A toi de voir ce que tu veux faire...

    Smortex

    Les FAQ Assembleur - Linux
    In The Beginning Was The Command Line Neal Stephenson

Discussions similaires

  1. Quel compilateur choisir pour l'assembleur ?
    Par forthx dans le forum Assembleur
    Réponses: 97
    Dernier message: 09/10/2018, 14h55
  2. Débat : quelle distribution Linux choisir pour débuter ?
    Par Anonymous dans le forum Distributions
    Réponses: 227
    Dernier message: 18/02/2015, 10h09
  3. Assembleur : quel cours choisir pour débuter ?
    Par Débutant_ASM dans le forum Assembleur
    Réponses: 3
    Dernier message: 26/02/2010, 18h36
  4. ecrire son OS (assembleur ??)
    Par Anonymous dans le forum Programmation d'OS
    Réponses: 9
    Dernier message: 25/11/2002, 19h25
  5. Quel désassembleur/assembleur pour un exe Windows ?
    Par Anonymous dans le forum x86 32-bits / 64-bits
    Réponses: 6
    Dernier message: 17/04/2002, 10h59

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