Précédent   Forum des professionnels en informatique > Autres langages > Assembleur
Assembleur Forum d'entraide Assembleur. Avant de poster -> F.A.Q Assembleur Tutoriels Assembleur
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 04/12/2011, 15h58   #1
Invité de passage
 
Inscription : juin 2009
Messages : 19
Détails du profil
Informations forums :
Inscription : juin 2009
Messages : 19
Points : 1
Points : 1
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 :
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
anouarattn est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/12/2011, 23h32   #2
Membre confirmé
 
Avatar de golden boy
 
Homme Enzo
Lycéen
Inscription : novembre 2010
Messages : 120
Détails du profil
Informations personnelles :
Nom : Homme Enzo
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Lycéen

Informations forums :
Inscription : novembre 2010
Messages : 120
Points : 224
Points : 224
c'est avec nasm -f elf
__________________
Real ASM
golden boy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/12/2011, 21h54   #3
Candidat au titre de Membre du Club
 
Homme William Thomas
Collégien
Inscription : octobre 2011
Messages : 14
Détails du profil
Informations personnelles :
Nom : Homme William Thomas
Âge : 14
Localisation : France, Côte d'Or (Bourgogne)

Informations professionnelles :
Activité : Collégien

Informations forums :
Inscription : octobre 2011
Messages : 14
Points : 13
Points : 13
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 .
william17 est déconnecté   Envoyer un message privé Réponse avec citation 10
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h14.


 
 
 
 
Partenaires

Hébergement Web