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 :

L'assembleur est-il un langage ? [Débat]


Sujet :

Assembleur

  1. #1
    alex_pi
    Invité(e)
    Par défaut L'assembleur est-il un langage ?
    Bonjour,

    Je réagis à une citation récente :
    Quant-à moi, je préfère le Labwindow CVI et le C++ ainsi que l'Assembleur.
    L'assembleur, ce n'est quand même pas trop un langage de programmation, je pense.

    Et vous ?
    Dernière modification par Alcatîz ; 28/12/2009 à 21h40.

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 537
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 537
    Points : 2 548
    Points
    2 548
    Par défaut
    Citation Envoyé par alex_pi Voir le message
    L'assembleur, c'est quand même pas trop un langage de programmation hein...
    Je plussoie, l'assembleur c'est l'ensemble des instruction que supporte un processeur. Et ça peut totalement varier d'un proco a l'autre.

    A la limite l'ASM x86 ou x64 peut etre considéré comme un langage et encore . . .

  3. #3
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 603
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 603
    Points : 17 913
    Points
    17 913
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par alex_pi Voir le message
    L'assembleur, c'est quand même pas trop un langage de programmation hein...
    C'est quoi alors ?? un langage avec lequel on fait un programme, c'est pas un langage de programmation ??

    Même si ce n'est pas un langage de programmation actuel ni de haut niveau, c'en est cependant un...

    Et l'on peut avoir, dans certains cas, à programmer (même maintenant) avec lui...


    "Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle".

    Consultant indépendant.
    Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie.
    C, Fortran, XWindow/Motif, Java

    Je ne réponds pas aux MP techniques

  4. #4
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 537
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 537
    Points : 2 548
    Points
    2 548
    Par défaut
    Citation Envoyé par souviron34 Voir le message
    C'est quoi alors ?? un langage avec lequel on fait un programme, c'est pas un langage de programmation ??
    Au risque de me répéter, l'assembleur désigne l'ensemble des insctruction que ton processeur peut executer. Ça ne désigne donc pas un langage.

    L'assembleur x86 peut-être considéré comme un langage, au même titre que l'assembleur ARM7 ou bien l'assembleur de tout autre processeur.

    Mais il est évident que les assembleurs de deux processeurs différents sont deux langage différents, et donc l'assembleur pas un langage.

  5. #5
    Membre chevronné

    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Novembre 2006
    Messages
    1 252
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 252
    Points : 1 954
    Points
    1 954
    Par défaut


    -> http://asm.developpez.com/faq/?page=fg#fg_whatisit
    L'Assembleur est le langage de programmation de plus bas niveau.
    voir wikipedia aussi.

  6. #6
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 518
    Points
    41 518
    Par défaut
    En fait, un terme serait plutôt "famille de langages".

    On peut aussi dire que pour une plate-forme donnée, l'assembleur est le langage de plus bas niveau. (enfin, il se retrouve en seconde place si on considère les codes machines directs comme un langage).
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  7. #7
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 603
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 603
    Points : 17 913
    Points
    17 913
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par Médinoc Voir le message
    On peut aussi dire que pour une plate-forme donnée, l'assembleur est le langage de plus bas niveau. (enfin, il se retrouve en seconde place si on considère les codes machines directs comme un langage).
    Citation Envoyé par deadalnix Voir le message
    Au risque de me répéter, l'assembleur désigne l'ensemble des insctruction que ton processeur peut executer. Ça ne désigne donc pas un langage.
    Je crois, deadalnix, que tu confonds...

    L'ensemble des instructions défini un langage. (MOV, ADD, SUB... ce sont des symboles d'opérations , au même titre que read, fopen, ou new...)

    Comme le dit Médinoc, c'est le code machine qui lui n'est plus un langage.

    Mais quand tu fais un programme en assembleur, il faut bien que tu le compiles pour le rendre exécutable. C'est donc bien un langage de programmation...
    "Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle".

    Consultant indépendant.
    Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie.
    C, Fortran, XWindow/Motif, Java

    Je ne réponds pas aux MP techniques

  8. #8
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 537
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 537
    Points : 2 548
    Points
    2 548
    Par défaut
    Citation Envoyé par souviron34 Voir le message
    Mais quand tu fais un programme en assembleur, il faut bien que tu le compiles pour le rendre exécutable. C'est donc bien un langage de programmation...
    Tu ne compiles pas, tu assembles. D'ou le nom assembleur d'ailleurs.

    Pour ce qui est du reste, essaye d'assembler l'instruction mov r0, r1 sur ton x86 et tiens moi au courant des résultats

  9. #9
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 603
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 603
    Points : 17 913
    Points
    17 913
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par deadalnix Voir le message
    Tu ne compiles pas, tu assembles. D'ou le nom assembleur d'ailleurs.

    Pour ce qui est du reste, essaye d'assembler l'instruction mov r0, r1 sur ton x86 et tiens moi au courant des résultats
    et essaye de taper "mov r0 r1" en ligne de commande, et tiens moi au courant des résultats

    d'ailleurs, le man page de gcc (GNU cross-compiler http://gcc.gnu.org/) donne, dans les options de lancement :
    You can specify the input language explicitly with the -x option :

    -x language
    Specify explictly the language for the following input file
    (rather than letting the compiler choose the default based on the
    filename suffix). This option applies to all following input
    files until the next -x option. Possible values for language are :

    c c-header cpp-output
    c++ c++-header c++-cpp-output
    objective-c objective-header objective-cpp-output
    assembler assembler-with-cpp
    ada
    f77 f77-cpp-input ratfor
    java
    trilang
    Mais j'arrête-là, ça sert à rien .... tu es .... épais, pour reprendre une expression québecoise...
    "Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle".

    Consultant indépendant.
    Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie.
    C, Fortran, XWindow/Motif, Java

    Je ne réponds pas aux MP techniques

  10. #10
    Noteworthy
    Invité(e)
    Par défaut
    Salam,

    Le nom Assembleur est le terme employé pour désigner :
    - Le langage de programmation ( vue que c'est un code de communication, permettant à une personne de dialoguer avec sa machine en lui soumettant des instructions ) le plus bas niveau accessible facilement à un humain.
    - Et un logiciel transformant un fichier source contenant des instructions, en un fichier exécutable que le processeur peut comprendre.

    Noteworthy.

  11. #11
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 537
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 537
    Points : 2 548
    Points
    2 548
    Par défaut
    Citation Envoyé par souviron34 Voir le message
    et essaye de taper "mov r0 r1" en ligne de commande, et tiens moi au courant des résultats
    Ça ne fonctionnera pas bien évidement. Si c'est censé être un argument sache qu'il n'est compréhensible que par toi même. Je me demandes si tu sais ce qu'est un processeur ARM ou x86. Et surtout qu'est ce que la ligne de commande vient faire la dedans . . .

    On a bien affaire a une famille de langage et non pas un langage. D'ailleurs un bref tour d'horizon dans cette partie devrait pouvoir t'éclairer les idées :
    http://www.developpez.net/forums/f95...architectures/

    Citation Envoyé par souviron34 Voir le message
    D'ailleurs, le man page de gcc (GNU cross-compiler http://gcc.gnu.org/) donne, dans les options de lancement :
    Tiens donc, je ne conaissais pas gcc, j'en apprend tous les jours !

    Mais sache que gcc, en plus d'être un merveilleux compilos, c'est aussi un éditeur de lien, un assembleur, et tout un tas d'autres trucs en même temps.

    Citation Envoyé par souviron34 Voir le message
    Mais j'arrête-là, ça sert à rien .... tu es .... épais, pour reprendre une expression québecoise...
    1m80, 58kg, mais merci de t'en soucier

  12. #12
    Membre chevronné

    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Novembre 2006
    Messages
    1 252
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 252
    Points : 1 954
    Points
    1 954
    Par défaut
    L'assembleur est un langage par métonymie, c'est tout.

  13. #13
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 603
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 603
    Points : 17 913
    Points
    17 913
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par deadalnix Voir le message
    Je me demandes si tu sais ce qu'est un processeur ARM ou x86. Et surtout qu'est ce que la ligne de commande vient faire la dedans . . .
    Non et je m'en contrefiche. Il y a des différences entre machines, je te l'accorde, mais la base est la même : j'ai programmé en assembleur sur un PDP 11-23 en 1982 et il y avait ADD, MOV, SUB, etc etc...

    Citation Envoyé par deadalnix Voir le message
    On a bien affaire a une famille de langage et non pas un langage.
    Ce n'est pas ce que tu disais et qui déclenché cette discussion :

    Citation Envoyé par deadalnix Voir le message
    Au risque de me répéter, l'assembleur désigne l'ensemble des insctruction que ton processeur peut executer. Ça ne désigne donc pas un langage.

    L'assembleur x86 peut-être considéré comme un langage, au même titre que l'assembleur ARM7 ou bien l'assembleur de tout autre processeur.

    Mais il est évident que les assembleurs de deux processeurs différents sont deux langage différents, et donc l'assembleur pas un langage.
    Que l'on dise "flavor" ou n'importe quoi, pas de problème. Mais de base c'est un langage, qui, comme pour C ou n'importe quel autre, a des extensions et/ou particularités par machine, mais dont la base est cohérente et multi-plateforme. Donc je rejoins ton point que c'est une famille de langages, mais par rapport à la remarque intiiale ta réponse, dans le cadre de la discussion, de même que celle d'Alex-Pi, était fausse.



    PS: et quant à mon exemple, c'était juste que , contrairement à ton affirmation ci-dessus, tu ne peux pas dialoguer directement avec ton processeur en tapant les "instructions", ce n'est donc pas un langage de commande.

    Que la procédure de compilation tu l'appelles compilation ou assemblage, cela revient strictement au même : tu pars d'un fichier texte et tu produis (enfin, le compilateur) un ensemble binaire interprétable directement par la machine.

    Par conséquent c'est bien un langage : tu tapes du texte, et il te faut un interpréteur qui le transforme en code machine.
    "Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle".

    Consultant indépendant.
    Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie.
    C, Fortran, XWindow/Motif, Java

    Je ne réponds pas aux MP techniques

  14. #14
    Membre émérite
    Avatar de SpiceGuid
    Homme Profil pro
    Inscrit en
    Juin 2007
    Messages
    1 704
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2007
    Messages : 1 704
    Points : 2 990
    Points
    2 990
    Par défaut
    @alex_pi
    Ta remarque illustre bien une certaine tendance (dérive?) au pinaillage.

    La vraie question c'est: l'assembleur est-il une compétence ?

    Moi je dis que l'assembleur est une compétence, et même une des plus sous-estimées, quelque part (sans doute dans mon imaginaire) la différence entre un scribe et un programmeur c'est cette intimité avec le langage machine qui garantie que l'on travaille à autre chose qu'à superposer toujours plus de couches de tâches à l'utilité plus bureaucratique les unes que les autres.

    Je n'oppose pas bas niveau et haut niveau et j'accueille avec autant d'enthousiasme tout ce qui témoigne d'une économie de concepts face à l'invasion des rouleaux-compresseurs qui écrasent tout pour mieux vendre leurs middleware ingérables.
    Du même auteur: mon projet, le dernier article publié, le blog dvp et le jeu vidéo.
    Avant de poser une question je lis les règles du forum.

  15. #15
    Membre chevronné

    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Novembre 2006
    Messages
    1 252
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 252
    Points : 1 954
    Points
    1 954
    Par défaut
    Citation Envoyé par SpiceGuid Voir le message
    Moi je dis que l'assembleur est une compétence, et même une des plus sous-estimées, quelque part (sans doute dans mon imaginaire) la différence entre un scribe et un programmeur c'est cette intimité avec le langage machine qui garantie que l'on travaille à autre chose qu'à superposer toujours plus de couches de tâches à l'utilité plus bureaucratique les unes que les autres.
    Ce troll...

  16. #16
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 537
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 537
    Points : 2 548
    Points
    2 548
    Par défaut
    Citation Envoyé par souviron34 Voir le message
    Non et je m'en contrefiche. Il y a des différences entre machines, je te l'accorde, mais la base est la même : j'ai programmé en assembleur sur un PDP 11-23 en 1982 et il y avait ADD, MOV, SUB, etc etc...
    Et des strm ? des fsincos ?

    De plus il y un très grande différence entre compiler un langage et assembleur : dans un cas tu as une simple table de correspondance, dans l'autre tu doit interpréter une grammaire.

  17. #17
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2007
    Messages
    7 368
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 368
    Points : 23 622
    Points
    23 622
    Par défaut
    Citation Envoyé par lafouine22 Voir le message
    pouvez vous me donner des infos sur les meilleurs langages de programmation pour programmer des logiciels autre que pour internet.
    les spécifications de chaque logiciel les prix et la dernière version de chaque logiciel. les sites web spécialisé dans la vente de ces logiciels au meilleur prix.
    • Ouvre un nouveau fil ;
    • Cherche un peu.


    Tout dépend de ce que tu veux faire. Cette question est vraiment très vaste. Le C est relativement universel, mais pas forcément facile d'approche.

    existe t'il des logiciels récent et gratuit a télécharger pour commencer la programmation avec de la documentation sur internet.
    Renseigne-toi sur les logiciels libres, sur CygWin et MinGW.

  18. #18
    Membre du Club
    Inscrit en
    Décembre 2008
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 47
    Points : 43
    Points
    43
    Par défaut
    Citation Envoyé par alex_pi Voir le message
    L'assembleur, c'est quand même pas trop un langage de programmation hein...
    Salut,
    COmment ça Beh si c'est un langage machine en plus.

  19. #19
    Membre expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 851
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 851
    Points : 3 481
    Points
    3 481
    Par défaut
    Pour ajouter un peu de poils au Troll, le binaire compilé constitue lui même un langage. Compréhensible par la machine, et à moindre mesure, mais tout de même, également compréhensible par un homme ( mais un homme motivé ! )

    Un langage est un moyen de communication qui permet d'échanger des informations entre deux entités.

    Tu peux alors très bien imaginer un éditeur binaire, qui te permettrait d'écrire en binaire, et donc il s'agit finalement bien d'un langage.

    [/Troll]

    D'un coté moins formel mais plus informatique, un langage informatique est un ensemble de conventions qui permettent à un humain de communiquer avec une machine afin de lui faire executer un traitement. Les conventions de l'assembleur, comme la présence de point virgule ( pour certains ) ou la définition de label par exemple, pour ne prendre que ça, sont suffisantes pour en faire un langage informatique à part entière.

    A+
    K

  20. #20
    Membre chevronné
    Avatar de Forthman
    Homme Profil pro
    conception mécanique
    Inscrit en
    Janvier 2005
    Messages
    702
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Tarn et Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : conception mécanique
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2005
    Messages : 702
    Points : 1 905
    Points
    1 905
    Par défaut
    J'aime bien quand le ton monte alors que dans une discution "réelle" tout le
    monde serait d'accord

    Deadalnix a juste écrit que l' "ASSEMBLEUR" n'était pas un langage, et je suis
    plutôt de son avis

    Je ne dis jamais "je programme en Assembleur" mais "Je programme en Assembleur sur PC"
    (sous-entendu un truc compatible 80X86 )

    a+ François

Discussions similaires

  1. Quel est le meilleur langage pour la portabilité : Windows & Linux (voire Mac) ?
    Par iubito dans le forum Débats sur le développement - Le Best Of
    Réponses: 57
    Dernier message: 26/11/2007, 23h45
  2. [Vos débuts] Quel est le premier langage que vous ayez appris ?
    Par Commodore dans le forum La taverne du Club : Humour et divers
    Réponses: 171
    Dernier message: 02/02/2007, 14h43
  3. VBA est-il un langage orienté objet ?
    Par Kcirtap dans le forum Général VBA
    Réponses: 5
    Dernier message: 06/12/2005, 09h46
  4. L'Assembleur est-il risqué ?
    Par phoenix440 dans le forum Assembleur
    Réponses: 4
    Dernier message: 20/11/2005, 14h07
  5. [Choix]Développement sécurisé, Quel est le meilleur langage?
    Par fugi dans le forum Langages de programmation
    Réponses: 4
    Dernier message: 21/04/2004, 13h55

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