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

x86 16-bits Assembleur Discussion :

label en assembleur


Sujet :

x86 16-bits Assembleur

  1. #1
    Candidat au Club
    Femme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    octobre 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : octobre 2012
    Messages : 3
    Points : 3
    Points
    3
    Par défaut label en assembleur
    bonjour , svp on veut dire quoi par label ou étiquette en langage assembleur ? et comment l'utiliser ?

  2. #2
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    septembre 2007
    Messages
    7 248
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    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 248
    Points : 23 247
    Points
    23 247
    Par défaut
    Bonjour,

    « Label » est le terme anglo-saxon signifiant « étiquette » en français.

    Il s'agit d'un nom que tu vas placer en tout début de ligne, généralement suivi d'un deux-points « : » et qui précède le mnémonique :

    Code ASM : Sélectionner tout - Visualiser dans une fenêtre à part
    etiquette:     mov ax,1234h

    Cette étiquette est un symbole qui prend automatiquement pour valeur l'adresse en mémoire de la ligne concernée. Ceci te permet ensuite de faire soit des sauts vers l'endroit en question (« jmp etiquette »), soit de connaître cette adresse pour y écrire des données ou pour faire un traitement à l'exécution.

    Code ASM : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
                mov ax,1234h
                mov [donnees],ax
     
    donnees:    db 0

    Seule exception, les « equates » (avec « EQU ») où, dans ce cas, l'étiquette prend pour valeur celle du paramètre. Par exemple :


    Ici, « magic » sera donc équivalent à 0x55aa.


    Est-ce qu'il s'agit d'un devoir ?

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    avril 2018
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : avril 2018
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    Bonjour Obsidian,

    La discussion a 5 petites années, mais saurais-tu me dire à quoi sert "equ" ?
    Je débute tout juste en asm, (je prévois d'utiliser GNU as) et je suis juste curieux. ^^

    Amicalement,
    Ben.

  4. #4
    Responsable Systèmes


    Homme Profil pro
    Technicien maintenance
    Inscrit en
    août 2011
    Messages
    14 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : août 2011
    Messages : 14 208
    Points : 32 631
    Points
    32 631
    Par défaut
    equ -> equal c'est à dire égal tout simplement.
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur la création d'un système : http://chrtophe.developpez.com/tutoriels/minisysteme/
    Mon article sur le P2V : http://chrtophe.developpez.com/tutoriels/p2v/
    Consultez nos FAQ : Windows, Linux, Virtualisation

  5. #5
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    septembre 2007
    Messages
    7 248
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    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 248
    Points : 23 247
    Points
    23 247
    Par défaut
    Plus précisément, cela veut dire « equates », avec un T et à la troisième personne, qui a un sens un peu plus large en anglais que le simplement « égaler ».

    C'est donc une directive qui permet de définir la valeur d'un symbole et c'est pratique pour déclarer des constantes, spécialement en tête de fichier, que l'on peut modifier ensuite à sa convenance.

    C'est un peu ce que l'on fait avec #define en C mais généralement, les assembleurs exigent que l'expression en paramètre soit immédiatement évaluable et que l'on puisse directement affecter une valeur numérique au symbole concerné. On ne peut pas s'en servir pour définir des macros. Il faut un « macro-assembleur » pour cela. À la grande époque de l'assembleur (les années 1980) c'était un luxe mais aujourd'hui, tous les assembleurs modernes en sont capables.

  6. #6
    Membre éclairé
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    novembre 2012
    Messages
    299
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : novembre 2012
    Messages : 299
    Points : 738
    Points
    738
    Par défaut
    Je rajouterai modestement que equ étant une directive, ce n'est pas quelque chose qui fait partie du jeu d'instructions du microprocesseur, tout comme db dans l'exemple plus haut qui veut dire define byte pour que l'assembleur sache qu'il doit mettre là un octet tel quel.

Discussions similaires

  1. Assembleur: codage des labels
    Par UzziCoke dans le forum C
    Réponses: 2
    Dernier message: 30/03/2013, 00h56
  2. [Assembleur inline C++] Récupérer l'offset d'un label
    Par ShivX dans le forum x86 32-bits / 64-bits
    Réponses: 21
    Dernier message: 10/09/2009, 14h04
  3. Tutoriels, F.A.Q : la rubrique Assembleur de Developpez.com
    Par Alcatîz dans le forum Assembleur
    Réponses: 3
    Dernier message: 07/06/2007, 19h14
  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