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 32-bits / 64-bits Assembleur Discussion :

[NASM] Problème d'édition de liens


Sujet :

x86 32-bits / 64-bits Assembleur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Mai 2004
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Enseignant Chercheur

    Informations forums :
    Inscription : Mai 2004
    Messages : 46
    Par défaut [NASM] Problème d'édition de liens
    Bonsoir,

    Je débute en Assembleur. J'essaie actuellement de faire fonctionner un programme des plus simples sur mon portable mac ayant un processeur Intel core2duo.

    Le but de mon programme est de réaliser l'opération suivante :

    8+5+3*2
    Le code que j'ai écrit :

    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
    global _start
     
    section .data
     
    section .text
    	_start:	
                    mov al,2
    		mov ah,3
    		mul ah
    		add ax,8
    		add ax,5
    		mov eax,1 
    		mov ebx,0
    		int 0x80
    		trap
    Je compile donc avec la commande suivante :

    nasm -f elf premier.asm
    Jusque là tout ce passe bien, par contre dès que je veux réaliser l'édition de lien via la commande suivante :

    ld -o premier premier.o
    J'obtiens l'erreur suivante :

    ld: warning -arch not specified
    ld: warning in premier.o, file is not of required architecture
    ld: could not find entry point "start" (perhaps missing crt1.o) for inferred architecture i386
    Apparemment il faudrait donc passer l'architecture utilisée par mon ordinateur via le paramètre "-archi". J'ai regardé un petit peu la documentation de ld, malheureusement je ne sais pas du tout quoi indiquer.
    De plus pourquoi est-il écrit que le point d'entré start n'a pas été trouvé ?

    Quelqu'un saurait-il m'expliquer ce qu'il faut faire ?

    J'ai également deux trois petites questions à propos de l'assembleur NASM :
    - La section .data doit elle toujours être spécifié même si on l'utilise pas ?
    - Le TRAP du label __start est t'il obligatoire ou peut-on s'en passer ?

    Merci.

    Cordialement,
    Laurent

  2. #2
    Membre averti
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Mai 2004
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Enseignant Chercheur

    Informations forums :
    Inscription : Mai 2004
    Messages : 46
    Par défaut
    Personne ne peut m'aider ?

  3. #3
    Membre chevronné Avatar de dapounet
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2007
    Messages
    469
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2007
    Messages : 469
    Par défaut
    Salut,
    Pourquoi est-ce que tu utilises ld pour éditer les liens, c'est obligé ?

  4. #4
    Membre averti
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Mai 2004
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Enseignant Chercheur

    Informations forums :
    Inscription : Mai 2004
    Messages : 46
    Par défaut
    Citation Envoyé par dapounet Voir le message
    Salut,
    Pourquoi est-ce que tu utilises ld pour éditer les liens, c'est obligé ?
    Je suis pas du tout obligé.
    En fait je débute et on m'a expliqué en utilisant ld, seulement ça ne veut pas fonctionner. Je suis preneur de toute solution que je pourrais comprendre et qui fonctionne

  5. #5
    Membre chevronné Avatar de dapounet
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2007
    Messages
    469
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2007
    Messages : 469
    Par défaut
    Essaie toujours ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    nasm -f elf -o premier premier.asm

  6. #6
    Membre averti
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Mai 2004
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Enseignant Chercheur

    Informations forums :
    Inscription : Mai 2004
    Messages : 46
    Par défaut
    Merci bien, ça me cré effectivement un executable. Cependant si j'essai de l'executer j'otiens le message suivant :

    -bash: ./premier: cannot execute binary file
    Je dispose pourtant des droits suffisants, etc.
    Bref je comprends pas ?

Discussions similaires

  1. [MASM32] Problème à l'édition de liens
    Par theShin dans le forum x86 32-bits / 64-bits
    Réponses: 4
    Dernier message: 01/03/2007, 21h38
  2. Problème d'édition de lien
    Par Kodamas dans le forum Autres éditeurs
    Réponses: 10
    Dernier message: 05/06/2006, 13h50
  3. [g++] Problème d'édition de liens
    Par glKabuto dans le forum Autres éditeurs
    Réponses: 3
    Dernier message: 31/05/2006, 19h10
  4. [Dev-C++] Problème d'édition des liens
    Par shura dans le forum EDI
    Réponses: 5
    Dernier message: 30/08/2005, 09h35
  5. Problème à l'édition des liens avec BCC55 et Xerces
    Par ShootDX dans le forum Autres éditeurs
    Réponses: 4
    Dernier message: 30/11/2003, 14h50

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