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 :

De la normalisation du langage Assembleur [Débat]


Sujet :

Assembleur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté

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

    Informations forums :
    Inscription : Octobre 2005
    Messages : 193
    Par défaut De la normalisation du langage Assembleur
    Bonjour,

    Personnellement, je favoriserais les assembleurs répondant à une syntaxe normalisée comme MASM, TASM, ...
    Le C donne l'exemple en se prétendant un langage indépendant des compilateurs (?..!), c'est vrai en partie.
    Certains compilateurs Asm donnent franchement dans le particularisme syntaxique (NASM...) ou dans le particularisme fonctionnel (Rosasm).
    L'Assembleur mérite mieux que ça.

  2. #2
    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
    Citation Envoyé par ToutEnMasm Voir le message
    personnellement,je favoriserais les assembleurs répondant a une syntaxe normalisée comme masm,tasm,.....
    le c donne l'exemple en se prétendant un langage indépendant des compilateurs (?..!),c'est vrai en partie.
    Certains compilateurs asm donnent franchement dans le particularisme syntaxique,nasm... ou dans le particularisme fonctionnel comme rosasm.
    L'asm mérite mieux que ça.
    Salut,

    Je ne comprends pas très bien le sens de ta (tes) réflexion(s) et j'ai besoin de précisions sur ce que tu veux vraiment dire:

    - Qu'appelles-tu (considères-tu) syntaxe normalisée (sur quelles bases, pourquoi etc.) ?

    - Le c donne l'exemple (de quoi ?)

    - En quoi le c est-il un script indépendant des compilateurs ? (Tu veux j'imagine, dire: Indépendant de la machine et/ou de l'OS cible ? Ce qui, comme chacun sait, est un fantasme et non une réalité de travail dans le monde réèl)

    Tu sembles critiquer le particularisme syntaxique ou fonctionnel (ce qui n'est pas vraiment la même chose) de certains éditeurs:

    - Que trouves-tu gênant, hormis la possibilité de choisir, de définir, ses propres conventions d'écritures, dans ces divers efforts ?

    - En quoi de nouvelles fonctionnalités sont-elles de mauvaises choses ?

    - Si elles ne sont pas de mauvaises choses elles sont forcément nouvelles, donc non-normalisées (voir de futurs nouvelles normes) ; Peux-tu préciser ?

    L'assembleur mérite mieux que cela, bien:

    - Quoi ?

    Je te remercie par avance pour tes précisions et éclaircissements.

  3. #3
    Membre expérimenté

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

    Informations forums :
    Inscription : Octobre 2005
    Messages : 193
    Par défaut
    Un petit exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    ;masm,tasm ,jwasm..++ syntax
     
    RIP_INFO	STRUCT
    	dwError DWORD ?
    	dwType DWORD ?
    RIP_INFO		ENDS
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    ;nasm syntax
     
    STRUC RIP_INFO
    .dwError RESD 1
    .dwType RESD 1
    ENDSTRUC
    Pour le c, j'ai bien dit langage indépendant des compilateurs, pas d'autres choses.
    La syntaxe fait partie de cette normalisation.

  4. #4
    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
    Merci pour ta réponse.
    Il me manque cependant pas mal d'éléments.

    Je te remercie pour l'exemple de déclaration de Datas virtuels sous forme de structures. J'imagine que le 1 indique le nombre de DWORD (ce qui ne serait pas complètement idiot dans de nombreux cas, puisqu'il s'agit de datas virtuels).
    Je pense que ce que tu déclares: "Certains compilateurs asm donnent franchement dans le particularisme syntaxique,nasm", est dû au "RESD" au lieu du "DWORD". Je suis d'accord avec toi sur le fait que ce genre de raccourcis n'est pas des plus lisibles. REP DWORD aurait gagné en lisibilité s'il est bien question de cela.

    Serais-tu néanmoins prêts à "tolérer":
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    [RIP_INFO:
    dwError: DWORD ?
    dwType: DWORD ?]
    Ou, pour des évocations plus lisibles au sein du source:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    [STRUC.RIP_INFO:
    dwError: DWORD ?
    dwType: DWORD ?]
    J'imagine que la suppression de RIP_INFO ENDS pour un cadre de déclaration [...] reste "digne" d'un l'assembleur ? (Pour les compilateurs, c'est un autre domaine).

    Tu sembles apprécier particulièrement MASM (pas de problème), je comprends donc que tu fasses le rapprochement avec le C et les compilateurs (de scripts). MASM étant en effet un compilateur (créé avant toutes choses dans ce but par Microsoft), utilisable à la manière d'un assembleur, certes, mais cette particularité l'entraîne vers d'autres désavantages et sa syntaxe est loin d'être "normalisée" ou parfaite. Elle est plus proche des scripts (pour des raisons évidentes mentionnées plus haut) et utilise des mots clés inexistants en assembleur, qui ne sont justifiable que dans un compilateur. Le code généré n'est donc pas toujours forcément celui qui est écrit (les encapsulations n'apparaissent pas dans ton source (comme en C donc) mais le code dé-assemblé montre que cette encapsulations à bien lieu, et ce dans le mécanisme de substitution du compilateur.
    Il me semble que cela est plus préjudiciable à un véritable "assemblage" qu'une syntaxe (je te l'accorde dans l'exemple cité) plus ou moins pertinente. Je dis cela parque que cela est le corps de ton argumentation.

    Il me semble que le but de la syntaxe, est d'augmenter le plus possible la lisibilité du source et donc faciliter sa maintenance.
    Quand tu dis: "je favoriserais les assembleurs répondant a une syntaxe normalisée comme masm,tasm"

    Vu que TASM est un peu inutilisable au jour d'aujourd'hui, pourrais-tu citer un autre nom à coté de MASM ? Sinon, ton propos semblera vouloir signifier: "Je favoriserais masm que je considère comme la norme" ce qui serait somme-toute un peu excessif, non ?
    Il ne serait plus question de favoriser dans ce cas là mais d'imposer, comme normatif, ce qui est très différent et réclame quelques explications.
    Je sais que rédiger prend un peu plus de temps mais il serait agréable que tu répondes un peu plus amplement à mes précédentes questions.
    Le but étant de mieux comprendre les raisons profondes des (t)ces doléances, que je comprends, elles, fort bien.

  5. #5
    Membre expérimenté

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

    Informations forums :
    Inscription : Octobre 2005
    Messages : 193
    Par défaut
    Je ne crois pas utile de justifier tout l'intérêt présenté par une syntaxe normalisée.
    Le genre de détails comme préférer vous une "," içi ou un ";" là sont sans intérêt.
    Une syntaxe c'est un peu comme de rouler à gauche ou à droite,il faut faire un choix.
    En assembleur,le choix est facile à faire,il n'y pas de droit d'auteurs dessus.
    La syntaxe de masm tend à faire la norme,on peut trouver ça excessif,je suis d'accord.Le rôle de microsoft est aussi excessif , je suis d'accord.
    M'enfin,je vois mal nasm ou rosasm imposer la leur.

  6. #6
    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 ne crois pas utile de justifier tout l'intérêt présenté par une syntaxe normalisée.
    Ce n'est nul par la question, mais: Qu'est-ce qu'une syntaxe normalisée en assembleur ?
    Tu ne réponds donc pas directement mais tu affirmes clairement qu'en dehors de MASM rien n'a de valeur même propositionnelle.

    En assembleur,le choix est facile à faire,il n'y pas de droit d'auteurs dessus.
    La syntaxe de masm tend à faire la norme...
    Un peu capillo-tractée la déclaration mais c'est ton avis, je le prends comme tel (sur les droits, je pense que tu t'égares un peu mais bon...)

    M'enfin,je vois mal nasm ou rosasm imposer la leur.
    Quels que soient les noms (cela importe peu en fait), tous ces excellents outils ont "imposé" leur syntaxe à tous ceux qui les utilisent, ce qui fait quand-même un très grand nombre de personnes hors normes et "indignes de l'assembleur" !
    Je comprends que tu fasses des choix syntaxiques liés à l'outil que tu utilises mais de là à les imposer comme norme, c'est excessif non ?
    (Mais non pas MASM ou Microsoft...)

    Je regrette un peu le manque d'argumentation construite qui aurait pu amener un peu d'aide aux divers lecteurs.

Discussions similaires

  1. Exercices en langage assembleur du microprocesseur 8086
    Par lorye dans le forum x86 16-bits
    Réponses: 1
    Dernier message: 10/01/2009, 18h04
  2. Quel livre pour apprendre le langage Assembleur ?
    Par argon dans le forum Assembleur
    Réponses: 1
    Dernier message: 11/06/2008, 17h46
  3. Puissance du langage Assembleur - Apprentissage
    Par diaruga dans le forum Assembleur
    Réponses: 3
    Dernier message: 05/02/2008, 23h29
  4. Coder en langage Assembleur
    Par sone47 dans le forum Assembleur
    Réponses: 7
    Dernier message: 23/05/2007, 00h18

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