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 :

problème nasm :binary output format does not support external references


Sujet :

Assembleur

  1. #1
    Membre du Club
    Profil pro
    developpeur
    Inscrit en
    Juin 2009
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : developpeur

    Informations forums :
    Inscription : Juin 2009
    Messages : 57
    Points : 67
    Points
    67
    Par défaut problème nasm :binary output format does not support external references
    bonjour


    j'ai installer le nasm dans mon linux depuis le lien http://www.nasm.us/pub/nasm/releaseb...2.10rc8.tar.gz

    puis j'essaye d'assembler mon fichier affiche.asm
    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
    %include "asm_io.inc"
    segment .data
     
      msg3: db "entrer un entier",10, 0
     
    segment .text
          global main
      main:
                 enter 0,0
              ;   mov eax, msg3
               ;  call print_string
                ; call read_int
                ; mov ebx,eax
                ; call read_int
     
               mov eax,0xffff1113
                mov ebx,0xffffffff
                add eax,ebx
                 call print_int
                 call print_nl
                  dump_reg 1
                mov eax,0 
                leave
                ret
    asm_io.inc se trouve dans le même dossier mais le nasm me dit
    affiche.asm:15: error: binary output format does not support external references

    le commande avec lequel j'assemble est: nasm -f bin affiche.asm -o affiche.out

    aidez-moi merci

  2. #2
    Membre actif Avatar de golden boy
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2010
    Messages
    120
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2010
    Messages : 120
    Points : 230
    Points
    230
    Par défaut
    c'est avec nasm -f elf

  3. #3
    Membre à l'essai
    Homme Profil pro
    Collégien
    Inscrit en
    Octobre 2011
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Octobre 2011
    Messages : 14
    Points : 20
    Points
    20
    Par défaut
    En fait, le format binaire est destiné à la programmation en dehors des systèmes d'exploitations, par exemple, pour écrire un boot. C'est du binaire pur, directement compris par le processeur, sans structure particulière .
    C'est pour ça qu'on ne peut pas utiliser des valeurs déclarée extérieurement, car l'étape de linkage (avec ld par exemple) n'existe pas pour le format binaire. Il ne faut pas oublier que le linker lie les fichiers, mais aussi donne un format à l'exécutable ! Alors que pour le format binaire, on ne veut aucun format, parce que le format est spécifique à un système d'exploitation.

    Sous Linux, le format est ELF, donc quand tu va taper "nasm -f elf fichier", il va te donner un fichier objet, que tu devras ensuite Linker avec ton linker .

Discussions similaires

  1. Réponses: 1
    Dernier message: 06/01/2009, 15h15
  2. Réponses: 7
    Dernier message: 22/02/2007, 11h29
  3. Réponses: 2
    Dernier message: 25/01/2007, 22h19
  4. [win98]format error (not supported on drive C)
    Par Fabouney dans le forum Windows 2000/Me/98/95
    Réponses: 3
    Dernier message: 03/01/2007, 14h32
  5. Hibernate does not support SequenceGenerator.initialValue()
    Par nramariavelo dans le forum Hibernate
    Réponses: 2
    Dernier message: 28/07/2006, 15h16

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