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. #61
    Membre expérimenté

    Inscrit en
    Février 2009
    Messages
    200
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 200
    Par défaut Labour et l'argent de la bourre
    puisqu'il est de bon ton de considérer tout ce qui a plus de 30 ans comme un dinosaure..
    Pathos c'est trop, je veux dire paléanthropiens pour être honnête:
    Tu as raison, je viens de sentir mon coté dinothérium me gratter et ça me tire le matin vers le miocène… Rhâaa fait pas bon vieillir !

    Ceci dit, je ne discerne pas bien le côté "bon ton de" dans mon propos. Certainement une allusion à une histoire qui t'es propre. Pour ma part, les fameux 30 sont très loin et je ne me sens pas considéré comme un géant d'une époque qui posséda son heure de gloire. Comme quoi, les interprétations, les formes linguistiques et les sentiments toujours…. "L'œil nu était au fond de la culotte courte et regardai Caïn" ça y est je crois que je pleure, c'est l'age !
    et que visiblement nous descendons ici à un niveau de sémantique qui dépasse mes pauvres capacités
    Tu es donc si éloigné ? Ou plutôt, si j'intègre bien la double négation utilisée: Vraiment en dessous de tout !?! Désolé, que la sémantique, qui pourtant devrait t'être acquise pour différencier le signifié de la phonétique, te fasse défaut. Elle t'aiderait à saisir pleinement la réponse à ta douloureuse question, celle qui fait suite.
    La sémantique, comme tu le sais puisque tu utilises quand-même ce vocable, s'occupe justement du sens par opposition au code (son) qui n'a pas de sens (même pas celui d'un phonème) pour le locuteur, que dans la complexité de son assemblage. xor eax edx VS If Toto TRUE Titi FALSE

    Un HLL (voir plus bas) encapsule des blocs de code dans des concepts, du sens donc pour le rédacteur du script, concepts eux-mêmes encapsulables à la manière des matriochkas (Le Logo est un excellent exemple de ce principe) ; Puisque aucun µP à ce jour n'à conscience, ni de lui-même ni d'une quelconque notion de sens ainsi qu'une complète ignorance de principes globaux (son échelle d'intégration temporelle est dans le meilleur des cas étalée sur quelques cycles): Il est donc incapable de procéder à une opération intimement liée au langage -> L'interprétation et la compréhension qui sont des phénomènes liés à la durée:
    Ce n'est même pas vraiment un automate programmable, il demeure incapable de prendre une quelconque décision liée au sens ou à l'interprétation contextuelle. Il est aussi capable de comprendre une langue que le volant de ta voiture

    TP1: Parles-lui, (au volant évidement, pas au µP !) tu verras, ça ne marche pas et ce dans aucune langue.

    Un ascenseur est tout à fait capable de monter et s'arrêter troisième étage quand tu déclenches l'envoi du code unique et adéquat, personne pourtant ne dit qu'il utilise le Bouton poussoir comme langage de programmation de son ascenseur: Chacun considère qu'il utilise un automate programmé en déclenchant une commande réputée unique et non combinable pour obtenir un sens parallèle complexe:

    TP2: Appuies sur la touche 3 et la touche 6 simultanément: cela ne génère pas une nouvelle instruction interprétée comme parallèle et complémentaire de sens mais ces commandes sont sérialisées ainsi: Fait la première chose, Fait la deuxième chose, l'ascenseur n'établissant pas lui-même aucun lien entre les deux ordres.

    Même des instructions de type repxx ecx sont traitées hors contexte par n'importe quel µP actuel.
    j'aimerais connaître simplement pourquoi un ensemble d'instructions cité plus haut :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    MOV EAX,1
    ADD EBX,EAX
    peut marcher sur un PDP 11/23 en 1987, sur un PC avec Windows 3.1, sur une EEPROM de 2009, sans que cela soit un langage....
    mov eax 1 et add ebx eax sur un PDP 11/23, tu es sûr que c'est quelques centaines de lignes d'assembleur ou un souvenir implémenté par des aliens qui veulent prendre ton identité pour renverser Thomson ? Houuuu ça fait beur…
    J'ai répondu plus haut: un ensemble d'instruction n'est pas un langage, même si tu tentes de tirer le mot "instruction" vers son côté enseignement plutôt que vers son sens original en traitement de l'information: Commandes.
    Pour tenter de clore l'argumentation: Un calculateur à base de relais auto-alimentés en réseau, possédant comme IHM des boutons poussoir mono stables ou un modèle encore plus dépouillé: Une série d'inverseurs câblés en portes OR et AND pour commander l'éclairage de DEL, demeurent programmables dynamiquement en temps réel sans que l'ont parle de langage, mais plus raisonnablement de commandes en séries ou parallélisées.
    Le support change mais le concept est invariant que la logique soit câblée, adaptative ou programmée.
    Donc, ton ensemble d'instructions ne "marche pas", il n'est pas interprété, c'est une série de commandes non cumulables en sens et exécutée dans un ordre qui peut être modifiée par d'autres commandes.

    maintenant c'est vrai que je ne sais pas ce que signifie HLL ou autres sigles, donc je ne suis qu'un ignare obtus et simpliste...
    Si tu le dis. Mais il me semble que l'abus de donc peu nuire à la (ta) santé ou pour le moins à ton intégrité affective. Donc, Prudence….

    Les notions de haut vers le bas et de bas vers le haut, relativement répandues, connues et assimilées en informatique, sont disponibles aussi dans leurs versions en glish ; de même les scripts, considérés comme des langages par leurs aficionados, reprennent cette terminalogie:

    Dans mon précédent post:

    Dans le cas des High Level Languages il est nécessaire de passer par plusieurs étapes de mises en formes, de liaisons et d'interprétations…
    - Si le troll se rase les poils du torse, vous ne pourrez le reconnaître qu'une fois passé, à son dos velu et hirsute typique.

    - Les trolls, ont-ils un langage engageant quand ils sont hors du bois ?

  2. #62
    Expert confirmé

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 615
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par Rémi Coquet Voir le message
    ..mov eax 1 et add ebx eax sur un PDP 11/23, tu es sûr que c'est quelques centaines de lignes d'assembleur ou un souvenir implémenté par des aliens qui veulent prendre ton identité pour renverser Thomson ? Houuuu ça fait beur…
    Même si les noms de registres ne s'appellaient pas pareil, les instructions si.. et c'est bien de cela dont on parle..


    Citation Envoyé par Rémi Coquet Voir le message
    J'ai répondu plus haut: un ensemble d'instruction n'est pas un langage, même si tu tentes de tirer le mot "instruction" vers son côté enseignement plutôt que vers son sens original en traitement de l'information: Commandes.
    Loin de moi une telle pensée..

    Je le prend au sens informatique, de la même manière que en C "fwrite" est une instruction ou qu'en Fortran "READ" en est une...

    Ce que je dis et maintiens depuis le départ, et ton argumentation contraire est absolument tout ce qu'on veut sauf convaincante, est qu'un ensemble d'instructions informatiques définies par des éléments de texte, permettant à un "programmeur" d'en écrire une suite logique à l'intérieur d'un fichier de texte, et nécessitant l'usage d'un outil de "traduction" pour le rendre "exécutable" par une machine est un langage.

    Point final.

    Dorénavant, je ne répondrais plus à rien.

    PS: comme "ce qui se conçoit bien s'énonce clairement", je ne fais que percevoir à travers ta logorhée un pinaillage à trravers lequel tu tiens absolument à faire passer ton point de vue.

  3. #63
    Membre expérimenté

    Inscrit en
    Février 2009
    Messages
    200
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 200
    Par défaut Logo rémi de ton revert
    …tu tentes de tirer le mot "instruction" vers son côté enseignement plutôt que vers son sens original en traitement de l'information: Commande
    Loin de moi une telle pensée..
    Je le prend au sens informatique, de la même manière que en C "fwrite" est une instruction ou qu'en Fortran "READ" en est une...
    - Fwrite n'est certainement pas une instruction
    - READ n'est certainement pas non plus une instruction

    Ta pensée continue de pencher du côté où elle tombe: Tirer "instruction" vers son côté enseignement -> transfert historique -> langage CQFD.
    (Paroxysme de consultant: Souligner en gras, taper des pieds sur le clavier tout en sortant des énormités telles qu'il doit plomber du final point, digne de la colère de patron de boite familiale.
    Gabin: "Justement, ne répète à personne ce que tu écris là en cachette, tu te prendrais une tôle de chez plomb ambiance carottes-cuites sans passer par la case départ et ses 50.000 tunes. Avoue que ça serait dommage !" )

    Fwrite n'est pas, et ne sera jamais, une instruction, c'est le moins que l'on puisse dire: Où sont les opérandes de "ton" instruction ?
    A quel jeu d'instructions pense-tu, celui KX8068 ? Ha oui… Mais c'est un produit alien ça aussi, c'est pas du jeu (d'instruction) !

    C'est un script, une directive complexe, un appel de dll, un paquet de code, un bon paquet d'instructions assembleur représentant à lui-seul plus de lignes que tu n'avoues en avoir toi-même jamais sécrétées.
    J'ai bien saisi que tu étais affable et plein d'humour mais là tu concoures dans la catégorie ingénieurs, qu'est ce que je dis, Docteur en spasmes abdominaux ! (Même le noyau open source du prochain OS Microsoft ne peut pas lutter): Tu risques de provoquer la mort par lente asphyxie de tous les lecteurs écroulés par la somme de connaissances de base nécessaire pour faire un bien beau métier...
    Je tiens vraiment à t'éviter cette déconvenue et je ferais, soit en assuré, tous mes efforts pour te sortir de ce mauvais pas.

    Pour faire simple: C'est un élément de langage destiné uniquement à un interpréteur (de langage, soit un compilateur) qui va tenter de wrapper ça en fonction de la machine cible et des bibliothèques disponibles. En aucun cas cette directive n'est destinée à un µP qui ne peut traiter que des suites d'instructions et leurs opérandes.
    D'habitude je prends cher pour les consultations mais je te considère comme un client fidèle, un ami: Qu'il ne soit pas question d'argent entre-nous, tout le plaisir est pour moi.
    Ce que je dis et maintiens depuis le départ, et ton argumentation contraire est absolument tout ce qu'on veut sauf convaincante, est qu'un ensemble d'instructions informatiques définies par des éléments de texte, permettant à un "programmeur" d'en écrire une suite logique à l'intérieur d'un fichier de texte, et nécessitant l'usage d'un outil de "traduction" pour le rendre "exécutable" par une machine est un langage.
    Pour ce que j'arrive à traduire de ton propos, c'est que les scripts (ASCII apparemment) que tu envois à un outil de traduction (compilateur) sont des HLL/LLL de type C++/C. En cela tu as parfaitement raison et personne ne te contredira sur ce lieu commun.
    Mais l'assembleur (l'ensemble des instructions et leurs opérandes) n'est à aucun moment traduit par aucun outil. Tu peux même les écrire directement à la main dans une section exécutable et indiquer l'adresse au µP pour qu'il les exécute. C'est le principe des dll et API utilisées par les HLL.
    Un compilateur fournira toujours un code différent par rapport à un autre compilateur même si le script est identique en tous points. Cette entropie (pour utiliser un terme lié à l'énergie) est le propre de tous les langages.
    En assembleur c'est impossible puisque personne, ni aucun outil n'intervient pour le "traduire" comme tu sembles demeurer persévérant à le croire.
    L'obscurantisme est évidemment une manière de préserver une apparence de complexité. Celle-ci permet à son tour de maintenir le principe de base de la plupart des rapports commerciaux juteux: La Peur et le Sauveur (moyennant quelques écus sonnants et trébuchants). Ne vous approchez surtout pas, c'est très très tiède ! Mon expérience et mes outils vous feront gagner, vous éviteront, votre productivité, vos gains, votre qualité de vie…
    Tiens quelque chose que tu dois connaître: PNL, sinon tu n'as pas le bon outil pour les langages. (Programmation Neuro Linguistique, l'outil des commerciaux de la peur).

    Bien que cela soit un parfait troll, rasé de près certes, mais l'effort est là non ? L'opposition langage / quoi à propos ?
    Si la question existe c'est bien parce qu'elle est incomplète: Laquelle est la plus longue ? Et bien les deux, mais surtout la gauche, sera la réponse adéquate et récurrente.
    Le µP sait-il parler ? A t'il des notions qui dépassent celle d'adresses et de contenus d'adresses sur une durée de quelques cycles ? Pas de quoi échanger via un langage en tout cas. Là encore, c'est une fascination de l'homme face à un écran ne lui renvoyant que son propre reflet: Le fils contre lequel il peste tout en ce reconnaissant. Un homo centrisme de plus, comme si tout était à notre image. Les animaux ne parlent vraiment que dans les courts-métrage de Disney et le singe avec ses pantalons sa casquette et sa cigarette fait bien tous les gestes mais n'est pas celui qu'il singe.
    Un langage, n'est pas donc pas une forme mais un contenu qui fait appelle à des implicites communs, une culture partagée. Donc, puisque vous dialoguez avec votre µP je ne peux que citer un peintre connu: Ceci n'est pas une pipe. Essayez plutôt la moquette !
    Point final.
    Comme déclarait il y a seulement quelques années un dignitaire du continent africain: La terre est plate et qu'on n'y revienne plus !
    [quote]Dorénavant, je ne répondrais plus à rien.[quote]
    Et pourtant elle tourne...
    Pour ma part je ne réponds plus de rien.
    Mais quelle question t'ais-je posée à laquelle tu aurais répondu ?
    Tu à néanmoins là encore raison: Le conseil est d'argent et le silence d'or (sur ses deux oeils-nus).
    PS: comme "ce qui se conçoit bien s'énonce clairement", je ne fais que percevoir à travers ta logorhée un pinaillage à trravers lequel tu tiens absolument à faire passer ton point de vue.
    Syntax error: Un travers de pinaillage dans la logorrhée serait une remise en ordre formel et orthographiquement parlant plus correct.

    PS1: Je te remercie donc de ne pas céder à cette putride tentation et de renoncer à faire passer un quelconque point de vue qui, puisqu'il est mal énoncé semble passablement te poser des problèmes de conception.

    PS2: Maintenant tu pourras expliquer, en termes simples et concis, pourquoi le fait d'assembler ne constitue pas un exercice ou un fait linguistique patent.

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

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

    Informations forums :
    Inscription : Janvier 2005
    Messages : 702
    Par défaut
    Je sens que Rémi s'est fait un nouveau copain

    En ce qui me concerne, je vais continuer à utiliser l'assembleur (un petit-peu
    car à la base je suis dans la mécanique industrielle )
    Sans savoir si c'est un langage ou non

    Ca me rappelle une pub pour de la choucroute de marque Stöffler
    Le gars disait : "Je ne sais pas bien le dire mais je sais bien la manger"

    a+ François

  5. #65
    Membre expérimenté

    Inscrit en
    Février 2009
    Messages
    200
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 200
    Par défaut
    tu mets tout le monde d'accord, sur ce troll(eybus) surpuissant au point qu'il vole (pour reprendre l'image du début de topic) .

  6. #66
    Expert confirmé
    Homme Profil pro
    Développeur informatique en retraite
    Inscrit en
    Avril 2008
    Messages
    2 103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique en retraite

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 103
    Par défaut
    Citation Envoyé par Pierre Maurette Voir le message
    Je donne juste mon avis, qui ne vaut que ce qu'il vaut.
    +1

    Quand on demande à quelqu'un "Dans quel langages programmez-vous ?", s'il répond "C, Java et assembleur", ça ne me gêne pas, tout le monde comprend. Bien qu'on aurait pu préciser par exemple "assembleurs Motorola, x86 et PIC".
    Et, si on répond "en lisp", tout le monde (ou presque) comprend... bien que lisp (tout comme l'assembleur) soit plus une famille de langages qu'un langage.

    D'ailleurs, à ce sujet (puisqu'on parle d'assembleurs et de familles d'assembleurs), il m'est arrivé (très occasionnellement, je le concède) de programmer en LLM3. Pour ceux qui ne connaissent pas (au cas où il y en aurait), je vous rappelle que c'est l'assembleur virtuel de Le_Lisp (le dialecte français de lisp). En gros, le compilateur "complice" de l'environnement lelisp transforme un fichier source .ll en un fichier "objet" (mais ascii) .lo qui contient les instructions LLM3 correspondantes (c'est un peu plus compliqué que ça mais je ne souhaite pas trop entrer dans les détails (tant pis pour les pinailleurs!)). Ce fichier .lo peut alors être chargé dans n'importe quel interprète lelisp tournant sur n'importe quelle machine.

    En ce sens, l'assembleur LLM3 est un langage de programmation indépendant du processeur sur lequel il tourne, ce qui n'est pas courant pour un assembleur et mérite amha d'être signalé!

    )jack(
    Le langage C est l'assembleur de plus haut niveau jamais inventé.

  7. #67
    Membre expérimenté

    Inscrit en
    Février 2009
    Messages
    200
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 200
    Par défaut
    ...en LLM3... le compilateur "complice"... transforme un fichier source...qui contient les instructions LLM3 correspondantes. Ce fichier peut alors être chargé dans n'importe quel interprète lelisp tournant sur n'importe quelle machine. En ce sens, l'assembleur LLM3 est un langage de programmation indépendant du processeur sur lequel il tourne, ce qui n'est pas courant pour un assembleur et mérite amha d'être signalé!

    ...Le langage C est l'assembleur de plus haut niveau jamais inventé.
    Je comprends bien la joie que tu peux ressentir à utiliser un outil que tu considères comme novateur mais la citation courante liée à ta signature (c'est donc une pensée profonde que tu désires répandre quel que soit le sujet) fini d'indiquer clairement la confusion profonde des genres dans laquelle tu demeures et souhaites faire entrer plusieurs.

    Je ne peux qu'exprimer mon désaccord profond et irréductible, face à une argumentation utilisant sans discernement les termes: Interprétations, fichier source, instructions, assembleur indépendant du µP… Ainsi q'une signature tenant du prosélytisme de service marketing rompu aux abus de langage.

  8. #68
    Expert confirmé
    Homme Profil pro
    Développeur informatique en retraite
    Inscrit en
    Avril 2008
    Messages
    2 103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique en retraite

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 103
    Par défaut
    Citation Envoyé par Rémi Coquet Voir le message
    Je comprends bien la joie que tu peux ressentir à utiliser un outil que tu considères comme novateur mais la citation courante liée à ta signature (c'est donc une pensée profonde que tu désires répandre quel que soit le sujet) fini d'indiquer clairement la confusion profonde des genres dans laquelle tu demeures et souhaites faire entrer plusieurs.

    Je ne peux qu'exprimer mon désaccord profond et irréductible, face à une argumentation utilisant sans discernement les termes: Interprétations, fichier source, instructions, assembleur indépendant du µP… Ainsi q'une signature tenant du prosélytisme de service marketing rompu aux abus de langage.

    Je considère (mais ce n'est que mon opinion (et je la partage (mais ne souhaite convaincre personne))) qu'un langage (le langage C) qui permet (trop facilement) d'écrire n'importe où en mémoire, de violer des segments et de faire des erreurs de bus n'est pas ce que j'attends (encore mon opinion) d'un langage de haut niveau. C'est pourquoi je préfère (mon opinion) programmer en lisp smalltalk Pascal ADA Objective-C ou Java qui répondent beaucoup mieux (mais pas toujours pleinement) à mon besoin de sécurité, de simplicité et de tranquilité. D'où ma phrase (un peu provocatrice, je l'accorde):

    Le langage C est l'assembleur de plus haut niveau jamais inventé.

    En ce qui concerne ma prose simplificatrice (je le rappelle) sur LLM3, je ne comprends pas ton désaccord. Je l'ai relu plusieurs fois et je confirme tout ce que j'ai écrit. Je ne prétends pas connaître parfaitement les entrailles du compilateur et du chargeur de lelisp, mais je ne vois pas du tout ce qui peut te faire croire que ce que j'ai écrit est incorrect. Simplifié, je veux bien, mais pas incorrect.

    Je suis donc désolé de ne pas te comprendre.

    Afin d'être un peu plus explicite et clair, voici, à titre indicatif, une fonction écrite en lelisp (extraite d'un fichier source "sokogen.ll"):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    (defun skg-build-l-new-pos (pos $-xy)
      (let ((*skg-l-new-pos*  (list))
            (*skg-l-new-rpos* (list)))
        (skg-build-l-new-pos-aux pos pos $-xy)
        (nreverse *skg-l-new-pos*)))
    Et voici ce en quoi "complice" l'a transformée (extrait du fichier "objet" correspondant "sokogen.lo"):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    (loader'((fentry skg-build-l-new-pos subr2)
    (entry skg-build-l-new-pos subr2)
    (push a2)
    (push a1)
    (push (@ 101))
    (mov '0 a4)
    (jmp list)
    101
    (eval ())
    (push a1)
    (push (@ 102))
    (mov '0 a4)
    (jmp list)
    102
    (eval ())
    (push (cvalq *skg-l-new-rpos*))
    (mov a1 (cvalq *skg-l-new-rpos*))
    (push (cvalq *skg-l-new-pos*))
    (mov (& 2) (cvalq *skg-l-new-pos*))
    (push '2)
    (push '(*skg-l-new-rpos* *skg-l-new-pos*))
    (push 'lambda)
    (push llink)
    (push dlink)
    (push cbindn)
    (stack dlink)
    (mov (& 10) a3)
    (mov (& 9) a2)
    (mov (& 9) a1)
    (jcall skg-build-l-new-pos-aux)
    (mov (cvalq *skg-l-new-pos*) a1)
    (jcall nreverse)
    (mov (& 1) dlink)
    (mov (& 6) (cvalq *skg-l-new-pos*))
    (mov (& 7) (cvalq *skg-l-new-rpos*))
    (adjstk '11)
    (return)
    ))
    L'interprète lelisp lit le fichier objet de la même manière que n'importe quel source lisp (appel aux fonction read et eval). Lorsqu'il tombe sur l'appel ci-dessus, la fonction "loader" appelle le linker dynamique (l'équivalent de "ld -A" sous unix) pour charger, dans la zone prévue à cet effet (zone du code), la traduction des mov, jmp, push, etc. dans le code machine correspondant et relie la fonction en question (ici skg-build-l-new-pos) à l'adresse de la première instruction machine. Les étiquettes (101 102) sont bien évidemment transformées en adresses (je ne saurais dire si les jumps à ces adresses sont relatifs ou absolus), avec la convention que l'adresse de retour est stockée dans la pile (instruction "(push (@ 101))"), ce qui permet de faire des "jmp" plutôt que des "jsr".

    Encore un petit mot sur le caractère "novateur" de LLM3: c'est pas tout jeune! Je ne me souviens plus très bien des dates, mais Bernard Serpette a développé "complice" à l'Ircam, pendant mes premières années à l'Ircam, aux alentours de 1985, donc LLM3 doit aussi dater de ces années-là. Une recherche google devrait permettre de le vérifier.

    Cela dit, je répète que je ne suis pas un spécialiste de l'assembleur: je n'ai pas écrit plus de 200 lignes d'assembleur 68000 (en 1983) et juste quelques petites fonctions (max 10 lignes chacune) en LLM3 (en 1985-90).

    )jack(
    Le vécu modifie les problèmes organisationnels des structures (le parler-creux sans peine)

  9. #69
    Membre expérimenté

    Inscrit en
    Février 2009
    Messages
    200
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 200
    Par défaut
    Je considère…qu'un langage(le langage C)qui permet d'écrire n'importe où en mémoire, de violer des segments et de faire des erreurs de bus n'est pas ce que j'attends d'un langage de haut niveau. C'est pourquoi je préfère programmer en lisp smalltalk Pascal ADA Objective-C ou Java qui répondent beaucoup mieux à mon besoin de sécurité, de simplicité et de tranquilité. D'où ma phrase: Le langage C est l'assembleur de plus haut niveau jamais inventé.
    Donc, puisque pour ma part je te comprends fort bien, tu expliques que tu ne parlais pas réellement d'assembleur et du fait de le nommer langage ou pas mais de choix et d'expériences toutes personnelles (comme tu te plais à le souligner par les nombreuses appositions entre parenthèses).
    Le seul petit problème, c'est que le sujet du (troll) topic n'est pas: Quels sont vos outils préférez… mais l'assembleur est-il un langage ?
    En ce qui concerne ma prose simplificatrice sur LLM3, je ne comprends pas ton désaccord...les entrailles du compilateur…je ne vois pas du tout ce qui peut te faire croire que ce que j'ai écrit est incorrect. Simplifié, je veux bien, mais pas incorrect.
    Tout ce que tu dis, ainsi que la véracité de tes propos, d'un de tes outils te regarde ; ce qui n'est totalement faux et abusif c'est de nommer un langage compilé comme étant un assembleur:
    l'assembleur LLM3 est un langage de programmation indépendant du processeur sur lequel il tourne, ce qui n'est pas courant pour un assembleur
    Le but sous-jacent étant lu ainsi: "Puisque cet assembleur est un langage compilé, l'assembleur est un langage (qui plus est indépendant du processeur cible !). Tu dis toi-même abuser: Je conçois aisément que tu le conçoives.
    Encore un petit mot sur le caractère "novateur" de LLM3: c'est pas tout jeune!
    Que "tu le considères comme novateur" n'est pas lié à son ancieneté ou ses culottes-courtes à l'œil nu mais à ton sentiment (relis-mieux).
    Bernard Serpette a développé "complice"…pendant mes premières années à l'Ircam, aux alentours de 1985…Cela dit, je répète que je ne suis pas un spécialiste de l'assembleur…en LLM3(en 1985-90).
    J'avais bien compris que tu n'es pas spécialiste en assembleur, ce n'est cependant pas une excuse.

    Tu as donc croisé Miller Puckette (87/89) et son pote Max ?

  10. #70
    Expert confirmé
    Homme Profil pro
    Développeur informatique en retraite
    Inscrit en
    Avril 2008
    Messages
    2 103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique en retraite

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 103
    Par défaut
    Citation Envoyé par Rémi Coquet Voir le message
    Donc, puisque pour ma part je te comprends fort bien,
    En revanche, j'avoue que j'ai du mal à te suivre (globalement)!

    Le seul petit problème, c'est que le sujet du (troll) topic n'est pas: Quels sont vos outils préférez… mais l'assembleur est-il un langage ?
    Je ne comprends pas bien l'enjeu du débat.

    Je veux bien être d'accord qu'il est abusif de dire "l'assembleur est un langage", puisqu'il existe autant d'assembleurs que de processeurs (à l'exception de LLM3 qui est un assembleur portable).

    Quand j'écris (ou qqn de plus expérimenté (c'est plus sûr)) un programme en assembleur 68000, le langage de programmation que j'utilise est bien l'assembleur 68000, non?

    Ce langage de programmation a bien toute la puissance de n'importe quelle machine de Turing et me permet (en théorie) de programmer tout ce qui est calculable.

    C'est exactement le minimum que je demande à un langage de programmation: pouvoir programmer ce qui est programmable!

    Tout ce que tu dis, ainsi que la véracité de tes propos, d'un de tes outils te regarde ; ce qui n'est totalement faux et abusif c'est de nommer un langage compilé comme étant un assembleur:
    Le but sous-jacent étant lu ainsi: "Puisque cet assembleur est un langage compilé, l'assembleur est un langage (qui plus est indépendant du processeur cible !).
    Je ne comprends pas ce que tu penses être mon but sous-jacent.

    Tu dis toi-même abuser: Je conçois aisément que tu le conçoives. Que "tu le considères comme novateur" n'est pas lié à son ancieneté ou ses culottes-courtes à l'œil nu mais à ton sentiment (relis-mieux).
    Ben justement, j'ai dit:

    Citation Envoyé par jack-ft Voir le message
    En ce sens, l'assembleur LLM3 est un langage de programmation indépendant du processeur sur lequel il tourne, ce qui n'est pas courant pour un assembleur et mérite amha d'être signalé!
    Je n'ai pas dit que c'était novateur, mais pas courant. Et j'aime bien ce qui est rare, outre le fait que cela permet une grande portabilité (au prix, je le concède bien volontiers, d'un nivellement par le bas des possibilités du processeur virtuel (ex: 3 registres seulement!)).

    Cela dit, ce n'est pas le seul (cf. la machine virtuelle smalltalk ou java (ou le P-code, peut-être?)), mais je n'ai pas entendu parler de développeurs qui écriraient à la main directement pour ces machines virtuelles.

    J'avais bien compris que tu n'es pas spécialiste en assembleur, ce n'est cependant pas une excuse.
    Une excuse pour quoi?

    Tu as donc croisé Miller Puckette (87/89) et son pote Max ?
    Euh... [OFF-TOPIC]Oui, j'ai croisé Miller. Il développait Max en C (puis en java après mon départ), tandis que je travaillais sur les outils d'aide à la composition musicale: environnement PreForm (en lelisp, puis Common Lisp) et PatchWork (en PreForm), qui était parfois considéré comme concurrent de Max.

    Max est plus orienté outil performance temps réel, tandis que PatchWork plus outil d'aide à la composition.

    Cela dit, PatchWork a aussi des possibilités de performance pour lesquelles j'ai justement dû écrire quelques fonctions en assembleur LLM3, car les fonctions disponibles correspondantes allouaient de la mémoire, ce qui, à terme, provoquait l'appel du garbage collector et bloquait bien malencontreusement la production des notes.
    [/OFF-TOPIC]

    )jack(
    L'expression perfectionne les facteurs qualitatifs du projet (le parler-creux sans peine)

  11. #71
    Membre expérimenté

    Inscrit en
    Février 2009
    Messages
    200
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 200
    Par défaut L'ire came, s'est bien connu
    Je ne comprends pas bien l'enjeu du débat.
    Je crois que c'est clair !

    (je te rassure, c'est un troll organisé et prémédité)

    Je pense que l'enjeu est de différencier:

    - Langages, forcément compilés

    - Commandes, forcément assemblées

    Qu'il y est, évidemment, une (gué)guerre farouche et irréductible entre utilisateurs de HLL et assembleur est aussi un des nombreux enjeux implicites, ne nous voilons pas la face…

    Quand j'écris... un programme en assembleur 68000, le langage de programmation que j'utilise est bien l'assembleur 68000, non?
    Non, c'est (en) l'assembleur du 68000 comme tu le dis, qui n'est pas un langage, mais un ensemble de commandes uniques qu'il est impossible de cumuler par la syntaxe (ce qui est partiellement le propre de tout langage).

    Ce langage de programmation a bien toute la puissance de n'importe quelle machine de Turing et me permet (en théorie) de programmer tout ce qui est calculable.
    C'est exactement le minimum que je demande à un langage de programmation: pouvoir programmer ce qui est programmable!
    Pour un ancien de l'Ircam tu me déçois:
    La puissance d'un langage vient de ses qualités intrinsèques de syntaxe et ses possibilités d'assemblages, certes, mais d'abstractions de base, pas du locuteur (ou de la machine cible) comme tu le dis. L'assembleur, n'est pas un langage dans ce sens là non-plus.

    Une excuse pour quoi?
    Ne dire pratiquement que des inepties sur l'assembleur...
    (je passe sous silence le délire java qui frôle les sommets gagnants ).

    [off topic]Je m'étais pas mal intéressé à 4X, MusicV ainsi qu'au travail de Miller Puckette qui à permis à l'Ircam de sortir un des très rares produits utilisables... (hormis le gag de la modulation inverse méprisée et piqué par Yahama au franc symbolique juste pour créer la plus grosse vente de synthé (DX) de tous les temps ! (Ce qui leur à permis au passage de retourner de la moto aux trois diapasons à leur métier initial: La musique). Ils sont "impayables" (voir coûteux) à l'Ircam ).

    Miller Puckette à heureusement réécrit tout-ça: Pure Data (open source, ce qui n'est pas rien quand on considère le prix "public" d'un Max !)

    En passant, SynC Modular est aussi très puissant, surtout très pédagogique pour tout ce qui est traitement du signal en temps réel (écrit en HLL aussi et facilement détournable pour fabriquer des automates audio)[/off topic]

  12. #72
    Expert confirmé

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 615
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par Rémi Coquet Voir le message
    Je crois que c'est clair !

    (je te rassure, c'est un troll organisé et prémédité)
    Par toi, sans doute, car avant ton intervention le sujet était au repos et résolu..


    Citation Envoyé par Rémi Coquet Voir le message
    Je pense que l'enjeu est de différencier:

    - Langages, forcément compilés

    - Commandes, forcément assemblées

    Qu'il y est, évidemment, une (gué)guerre farouche et irréductible entre utilisateurs de HLL et assembleur est aussi un des nombreux enjeux implicites, ne nous voilons pas la face…
    L'enjeu n'est ni de différencier quoi que ce soit, ni de se livrer à une guéguerre, farouche ou non.. et absolument sans enjeux implicites .. Visiblement toi tu en mets.. Dommage..

    C'était juste de répondre à la question du thread, sans être un chercheur, et en répondant avec simplicité (ce que visiblement tu ne sais pas faire) et sur les grandes lignes (voir les 2 premières pages).

    Et pour te contredire simplement, des commandes ne sont pas forcément assemblées.. Un script (perl, bash, ksh, csh, sh, .bat, ce qu'on veut)n'est pas assemblé.

    Je ne sais pas auprès de qui tu veux mener une guéguerre, ou auprès de qui tu as des arrières-pensées, mais ce forum n'en est pas le lieu..Maintenant, tant que tu reviendras ici avec ces choses en arrière-pensée, je n'intervient plus.

  13. #73
    Membre expérimenté

    Inscrit en
    Février 2009
    Messages
    200
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 200
    Par défaut
    Et pour te contredire simplement, des commandes ne sont pas forcément assemblées.. Un script (perl, bash, ksh, csh, sh, .bat, ce qu'on veut)n'est pas assemblé.
    Je ne vois aucun assembleur là dedans, tu parles toi-même de scripts qui ne sont JAMAIS assemblés contrairement aux commande du processeur qui le sont TOUJOURS.
    - Si le but est, simplement de contredire, ta motivation n'est pas très avouable...
    - Si le but était, contredire avec simplicité, comment dire… ça le fait pas trop.

    Maintenant, tant que tu reviendras ici avec ces choses en arrière-pensée, je n'intervient plus.
    Mais, j'ai peur que tu ne sois décidément totalement incapable de (te) tenir le moindre de tes engagements...
    Tu connais forcément la blague de l'ours et du chasseur: J'espère, simplement, que le bâtiment ne te tente pas car tu n'es pas du tout mon genre, désolé.

    Et, si je peux me permettre deux réflexions d'ordre général:

    a) Essaie de relire tous les posts à haute voix: L'oralité permet à plusieurs enfants en échec scolaire, à l'aide de certains mécanismes de notre système cognitif, de mieux appréhender ce que tu tentes maladroitement de saisir et de comprendre.

    b) Je conçois que tu ais quelques sérieux problèmes linguistiques, pas encore une pathologie avérée certes, mais tu sembles vouloir les alliers à une dose de mauvaise foi qui risque de devenir un étalon (faute de talents) de comique sur l'échelle spirituelle (Jacob).

  14. #74
    Expert confirmé
    Homme Profil pro
    Développeur informatique en retraite
    Inscrit en
    Avril 2008
    Messages
    2 103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique en retraite

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 103
    Par défaut
    Citation Envoyé par souviron34 Voir le message
    Je ne sais pas auprès de qui tu veux mener une guéguerre, ou auprès de qui tu as des arrières-pensées, mais ce forum n'en est pas le lieu..Maintenant, tant que tu reviendras ici avec ces choses en arrière-pensée, je n'intervient plus.
    Merci Souviron34,

    je me sens tout à fait en accord avec ce que tu dis.

    Je vois bien que l'énergie (avec tous les guillemets qu'il faut) de ce topic ne me convient pas du tout et j'ai des choses plus intéressantes à faire...

    Désolé pour ceux qui voudraient continuer à polémiquer.

    )jack(

  15. #75
    Membre émérite
    Inscrit en
    Juillet 2005
    Messages
    512
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 512
    Par défaut
    J'y mets mon grain de sel.

    Citation Envoyé par jack-ft
    Je veux bien être d'accord qu'il est abusif de dire "l'assembleur est un langage", puisqu'il existe autant d'assembleurs que de processeurs (à l'exception de LLM3 qui est un assembleur portable).
    On pourait dire qu'il existe autant de langages que de peuples.

  16. #76
    Membre expérimenté

    Inscrit en
    Février 2009
    Messages
    200
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 200
    Par défaut
    Je partage tout à fait ton avis (on, pas ton sel Lucien, mais celui du(s) précédent(s)) sur un point très précis:

    - La participation, et surtout la persistance, à une discussion n'engagent que la responsabilité de la personne qui s'y prête.
    C'est toujours la blague de l'ours et elle semble toujours faire rire l'ours.

    Ce que je trouve par contre incongrue, pour le moins ambigu et inexplicable, c'est cette volonté de le signifier sans cesse tout en le dénonçant comme étant de la responsabilité de son prochain.
    Je le répète sans me lasser: Faute de bois le feu s'éteint et je ne suis du bois dont vous-vous faites les hérauts.

    Le plus amusant (bien que cela soit plutôt tristement vécu, à vous lire) c'est le sérieux avec lequel vous-vous piquez d'être quelque chose ou ces disputions trollesque de paraître un tant soit peux dignes de tels éléments de colères qui ne conviennent certainement pas à des personnes cachées derrière des pseudonymes ou des signatures ronflantes comme des épitaphes. Soyons conséquents.

    Pour ce qui est de la guéguerre, vous en êtes les ardents mainteneurs: Pas de Roy sans sujets, pas de guerre sans troupes, pas d'Adolphe sans compagnons de tristes besognes...

    PS: A méditer, si vous-vous y engagez, puisque vous êtes incorrigibles et que vous continuez à lire (sournois en plus):

    Un traitement de texte utilise une norme connue de tous: l'ASCII et sa partie étendue.
    Il permet à l'utilisateur d'exprimer à l'aide de divers PE, dans une langue et un langage qui lui sont propres, son propos justement.
    Cependant le µP, lui, ne travaille que sur des labels de datas au format ASCII exprimés en bits.
    Personne n'a besoin de compiler ses labels de data pour que le µP puisse les comprendre dans une langue et un langage que seraient, par opposition, les siens. Il en est de même pour les Labels de code, qui ne sont pour lui que des suites de commandes uniques et leurs opérandes sans utiliser une syntaxe particulière mais une norme tout aussi rigide que celle de l'ASCII.
    Tant que vous assembler des octets pour former des mots qui n'ont de sens que pour vous et qui ne sont que des datas utilisées via un set de commandes propres aux divers µP/P, nous serons en plein accord sur la différence entre un traitement de texte et un assembleur, un langage et l'assembleur.

    Mais, dans le cas où, par anthropomorphisme délirant, vous imagineriez je ne sais quelle magie qui attribuerait à l'ASCII des vertus propres à un langage et non, seulement substitutives, nous demeurerions dans un irréductible désaccord d'opinions. Puisque, en effet, il n'est question ici que d'opinions que nous ne partageons pas semble t'il .

  17. #77
    Inactif
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    182
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 182
    Par défaut ASM Est-ce un langage?
    La question ne de pose pas la réponse est oui
    Souffrez qu'un vieux vous rappelle la naissance de l'informatique...
    A la naissance pour programmer un ordinateur n'existait que le binaire.
    Très vite ou s'est aperçu que l'usage du binaire obligeait a la manipulation de nombres tres longs. Comme les programmeurs étaient déjà es fainéants astucieux ils on vite remarqué qu'ils utilisaient toujours les mêmes codes binaires (pour les instructions).Alors il ont adopté des surnoms: jmp,mov,inc,add. Alors un jour on a decide de normalisé les appellations
    Ainsi sont nés les langages dit d'assemblage: un mnemo=1 valeur
    Plus tras o,n les appellera L2G langage de 2° generation le L1 etant le binaire
    On a vite rencontrer un problème : les assembleurs ne fonctionnent que sur des processeurs précis. Vous changiez de processeurs et il fallait touit réécrire
    Alors on a imagine les langages de 3° génération L3g
    le but était clair une itération devait fonctionné quelque soit la processeur. On a créer le C, le Pascal, le Basic, le Lips... L'usage était le suivant; on ecrit un code dans le langage voulu et on a juste a le recompiler ou interprer

    Les L3G sont les langages habituels des programmeurs
    Mais il restait un obstacle: le commun des mortels ne connaissait pas le langage informatique
    Alors on a créer les L4G. Le plus connu est le SQL mais les macros sous EXCEL sont aussi du L4G

    En résumé

    L1G 011010100 binaire
    L2g MOV,JMP,STA... langage d'assemblage
    L3g Repeat until langage compile(en majorité)
    L4G je veux tous les hommes de plus de 50 ans... langue parlée.

    En changeant de génération on s'éloigne du hardware et en conséquence
    de ses spécificités (comme les indicateurs de carry ou de sige)
    Si par exemple vous utilisez le C et que vous désirez utiliser les Instruction SSE2 vous devez faire de l'ASM mais vous liez votre code au hardware
    Il ne fonctionnera pas sur un Power PC
    Il faut donc limiter les mélanges de génération de langage et n'y avoir recours que si une fonctionnalité n'existe pas dans votre langage
    Un programmeur ASM n'est ni meilleur ni pire qu'un programmeur COBOL: iols ne parles pas la mémé langue c'est tout.
    Le seul 'avantage' de l4ASM est qu'il permet d'utiliser toutes les technologies disponibles dur le Hard.
    L'assembleur ne va pas plus vite que le VB: il permet l'usage de hardware que n'autorise pas le VB et qui se traduit par une vitesse plus grande qui est l'objectif de tout code Un code bien écrit en Pascal ne gagnera rien a être écrit en ASM (sauf ajout de technologies). Je releve le defi
    Boris

  18. #78
    Membre expérimenté

    Inscrit en
    Février 2009
    Messages
    200
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 200
    Par défaut
    La question ne de pose pas la réponse est oui
    Comme j'aime et apprécie ce genre d'argumentation bien sentie, équilibrée et clairement exposée... c'est bô la culture et ses bouillons.


    Juste pour corriger le strict minimum syndical: (au-delà du N ième délire utilisant la même confusion sémantique habituelle... commandes/normes/langages...)

    Souffrez qu'un vieux vous rappelle la naissance de l'informatique...
    A la naissance pour programmer un ordinateur n'existait que le binaire.
    Oui, j'avoue souffrir, non d'apprendre l'âge canonique de notre intrépide interlocuteur mais de constater, à nouveau et sans-cesse, que les années ne semblent pas apporter à tous les mêmes vertus:
    Heureusement, la science à fait des progrès, nous évitant de trop prolonger nos souffrances

    L'informatique étant la science, l'ensemble des techniques, de traitement et de gestion de l'information...
    S'il est vrai que la notion d'information est liée à celle du signal (changement d'état) ce que tu nommes unilatéralement "naissance" utilisait 3 états:
    Présence courant, absence courant, boucle ouverte, l'absence de signal (ni un ni zéro) était lui-même considéré comme un changement d'état etc. etc.

    L'informatique date donc d'avant l'histoire (écriture) et précède largement la maîtrise de la base 2. Essaies les divers types de bouliers, juste histoire de calmer la fièvre...

    Les logiques câblées (largement précédentes au logiques programmées)font appel à diverses commandes de type branch op1 op2 qui n'ont jamais été considérées comme un langage.
    Celles-ci n'étant pas dynamiques, il était impossible de les "tirer", comme le font à posteriori plusieurs ici, vers des notions de sémantique ou d'assemblage de sens.
    Si un jumper pouvait être considéré comme "une partie" de langage, évidement, ça irait dans le sens de plusieurs farfelus (plus ou moins près de la mort). Le cow-boy à la blonde monture doit être un des rares à pouvoir le placer (connecter) dans une phrase

    Tu sembles ainsi, aussi confondre algèbre de Boole, traitement de l'information, formats numériques... et de cette bouillie infâme, tu n'hésites pas à donner dans le spéciales vacances humour et détente:
    Très vite ou s'est aperçu que l'usage du binaire obligeait a la manipulation de nombres tres longs. Comme les programmeurs étaient déjà es fainéants astucieux ils on vite remarqué qu'ils utilisaient toujours les mêmes codes binaires (pour les instructions).Alors il ont adopté des surnoms: jmp,mov,inc,add. Alors un jour on a decide de normalisé les appellations
    Ainsi sont nés les langages dit d'assemblage: un mnemo=1 valeur
    Aie aie aie... pitié pour les fainéants !

    Il manque juste le : "Ils furent très heureux et ..."

  19. #79
    jbe
    jbe est déconnecté
    Membre actif
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2002
    Messages : 33
    Par défaut
    Si l'assembleur n'est pas un langage, il n'y en a pas beaucoup d'autres...

    Sachant que pour produire les autres langages sur une machine cible, il aura fallu au préalable codé de langage via un code en assembleur

    Mais maintenant que les machines communes (en gros les PC et les Mac) rescapées de l'uniformisation informatique ne sont presque plus que des X86... Il n'y aura peut être plus besoin de coder en Assembleur

    Et comme je l'ai souvent entendu : vaut mieux un mauvais code C ou C++ qu'un bon code Assembleur que personne ne sait plus lire

    Arff mais ou va le monde . . . Je connais des nazes qui ne codent qu'en langages script / interprété... ARff le facteur 1000 en rapidité entre ca et du code C ou Fortran ou Ada. Et oui des vrais langages eux...

    Mais c'est autrement plus complexe dans le monde des microcontroleurs qui sont encore très gourmands en codeurs assembleur !

    Je ne vais pas m'abaisser a recopier la définition que je donne du langage assembleur... Qu'est-ce que l'assembleur ? Est-ce un langage à part entière ? (page 20 de Assembleur x86, JB Emond)

    Moi aussi je m'intéresse beaucoup aux trucs provenant de l'Ircam et la 4X (dont je possède quelques cartes) était en fait un genre calculateur dédié contrôlé par rack VME et était composé de grandes cartes cartes "DSP en TTL" avec son propre assembleur, dont le code était uploadé via un PDP. A c'était sport a l'époque... Mais avec le temps (aidant) certaines fonctionnalités ont été réduit dans une carte esclave (M860) dans les Cube NeXT (avec Max / FTS), et par la suite entièrement virtualisé via Max/MSP et JMax et pour finir PureData... Tout un programme

  20. #80
    Membre très actif
    Homme Profil pro
    Buisint
    Inscrit en
    Septembre 2008
    Messages
    220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Buisint

    Informations forums :
    Inscription : Septembre 2008
    Messages : 220
    Par défaut
    Citation Envoyé par deadalnix Voir le message
    Au risque de me répéter, l'assembleur désigne l'ensemble des insctructions que ton processeur peut exécuter. Ça ne désigne donc pas un langage.
    D'abord, l'ensemble des instructions exécutables par le processeur s'appellerait plutôt le 'langage machine' (qui, comme son nom l'indique...)
    Ensuite, si ma mémoire est bonne, les assembleurs proposent un certain nombre de syntaxes permettant de :

    • 'mapper' de façon compréhensible la répartition de la mémoire ;
    • nommer des variables ;
    • nommer des portions de code, pour en faire des procédures ou des macros.

    De plus, il me semblent qu'ils réalisent des opérations d'édition de lien et de mise en forme de l'exécutable en fonction de contraintes imposées par l'OS.
    Toutes choses qui ne correspondent directement à aucune instruction machine !

    Pour y revenir, en soi, ne pas voir le langage machine comme un langage alors que de toute évidence, il est constitué d'un lexique et d'une grammaire, cela me semble déjà abusif...


    Citation Envoyé par deadalnix Voir le message
    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.
    Ça paraît un peu spécieux comme argument...
    Essayons de transposer : les français de France et du Canada sont deux langages différents, et donc le français n'est pas un langage. Bon, soit.

    Par ailleurs, pour le x86, par exemple, il existe plusieurs assembleurs avec des syntaxes différentes, offrant des possibilités plus ou moins étendues.

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