begin process at 2012 05 25 12:04:43
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Assembleur

 > 

Archives

 > 

Aide a la programmation Unix

 > 

problem dans le segment .data (NASM)


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

problem dans le segment .data (NASM)

lundi 30 décembre 2002 à 01:02:15 | problem dans le segment .data (NASM)

bouba

J'ai commencé aujourd'hui la programmation en Assembleur
Mon premier programme est classique, le "Hello world!".
J'utilise NASM sous Linux (Red Hat 7.3, kernel 2.2 si ca pe être utile)
Le problème est que j'ai créer 3 "variable msg1, msg2, msg3 dans le segment .data
et je souhaite n'afficher que la première à l'écran mais les trois s'affiche.
Merci de m'aider afin que je n'affiche qu'une seule variable.

segment .data
msg1 db 'Hello, world!','$',0,0xa
msg2 db 'Salut à tous!','$',0,0xa
msg3 db 'Ca va bien!','$',0,0xa
len equ $ - msg1

segment .dss

segment .text
global _start

_start:
mov eax,4
mov edx,[len]
mov dword ecx,[msg1]
int 0x80
mov eax,1
int 0x80
lundi 30 décembre 2002 à 14:35:39 | Re : problem dans le segment .data (NASM)

Nemesis

Je connais pas trop la programmation sous linux, mais ça doit pas être très différent de windows. La chaine doit se terminer par le signe $.
voilà ton programme (a toi de voir si il marche):

segment .data
msg1 db 'Hello, world!','$'
msg2 db 'Salut à tous!','$'
msg3 db 'Ca va bien!','$'
len equ $ - msg1

segment .dss

segment .text
global _start

_start:
mov eax,4
mov edx,[len]
mov dword ecx,[msg1]
int 0x80
mov eax,1
int 0x80



-------------------------------
Réponse au message :
-------------------------------

> J'ai commencé aujourd'hui la programmation en Assembleur
> Mon premier programme est classique, le "Hello world!".
> J'utilise NASM sous Linux (Red Hat 7.3, kernel 2.2 si ca pe être utile)
> Le problème est que j'ai créer 3 "variable msg1, msg2, msg3 dans le segment .data
> et je souhaite n'afficher que la première à l'écran mais les trois s'affiche.
> Merci de m'aider afin que je n'affiche qu'une seule variable.
>
> segment .data
> msg1 db 'Hello, world!','$',0,0xa
> msg2 db 'Salut à tous!','$',0,0xa
> msg3 db 'Ca va bien!','$',0,0xa
> len equ $ - msg1
>
> segment .dss
>
> segment .text
> global _start
>
> _start:
> mov eax,4
> mov edx,[len]
> mov dword ecx,[msg1]
> int 0x80
> mov eax,1
> int 0x80
>
lundi 30 décembre 2002 à 16:33:58 | Re : problem dans le segment .data (NASM)

Kaid


Tu as peut-être un problème de taille (celle que tu passes à l'intéruption dans EDX). Ton "len" englobe les trois chaines, tu peux essayer pour la première chaine par exemple :

// ....
msg1 db 'Hello, world!','$',0,0xa
len1 equ $ - msg1
// ...


-------------------------------
Réponse au message :
-------------------------------

> Je connais pas trop la programmation sous linux, mais ça doit pas être très différent de windows. La chaine doit se terminer par le signe $.
> voilà ton programme (a toi de voir si il marche):
>
> segment .data
> msg1 db 'Hello, world!','$'
> msg2 db 'Salut à tous!','$'
> msg3 db 'Ca va bien!','$'
> len equ $ - msg1
>
> segment .dss
>
> segment .text
> global _start
>
> _start:
> mov eax,4
> mov edx,[len]
> mov dword ecx,[msg1]
> int 0x80
> mov eax,1
> int 0x80
>
>
>
> -------------------------------
> Réponse au message :
> -------------------------------
>
> > J'ai commencé aujourd'hui la programmation en Assembleur
> > Mon premier programme est classique, le "Hello world!".
> > J'utilise NASM sous Linux (Red Hat 7.3, kernel 2.2 si ca pe être utile)
> > Le problème est que j'ai créer 3 "variable msg1, msg2, msg3 dans le segment .data
> > et je souhaite n'afficher que la première à l'écran mais les trois s'affiche.
> > Merci de m'aider afin que je n'affiche qu'une seule variable.
> >
> > segment .data
> > msg1 db 'Hello, world!','$',0,0xa
> > msg2 db 'Salut à tous!','$',0,0xa
> > msg3 db 'Ca va bien!','$',0,0xa
> > len equ $ - msg1
> >
> > segment .dss
> >
> > segment .text
> > global _start
> >
> > _start:
> > mov eax,4
> > mov edx,[len]
> > mov dword ecx,[msg1]
> > int 0x80
> > mov eax,1
> > int 0x80
> >
>
mardi 31 décembre 2002 à 01:44:39 | Re : problem dans le segment .data (NASM)

bouba

Merci, j'ai résolu mon problème, c'était bien un problème de taille.


Cette discussion est classée dans : data, mov, nasm, segment, msg1


Répondre à ce message

Sujets en rapport avec ce message

SEGMENT SOUS NASM [ par Berty2000 ] Salut.je debute l'assembleur.Dans un prog EXE,comment recuperer la valeur du segment data dans lequelse trouve mot.pour l'offset, il suffit de faire m Probleme avec NASM et ALINK [ par epineurien ] Bonjour ! Voilà ma question : Je commence à utiliser NASM mais j'ai quelques problemes avec le linker ; Alink. Avec ce code (issu de la doc. de NASM message d'erreur [ par kaka83185 ] slt a tous, je suis débutant en langage assembleur,j'essaye de faire mon premier programme en MASM, et c'est en fait l'addition d'un nombre avec un au Erreur de segment avec si [ par benstan ] Bonjour j'ai un probleme que j'arrive pas a comprendre alors que je sais que c'est à cette endroit. Mon probleme c'est que quand je passe les 3 lignes MOV CX,ES:[DI] ??? [ par Arnaud16022 ] hello tout le monde question de newbie, je comprends pas cette command: MOV CX,ES:[DI] bon le mve ca va, le CX itou, mais apres ca coince... plus géné Aide sur le protocole i2c en assembleur pour une puce DS1621 [ par mortfeus ] Bonjour,J'ai un projet a réaliser qui consiste à travailler avec une puce DS1621, un capteur de température, via une carte atmel AT89C2051 qui sera en programme assembleur [ par marwen09 ] je veux ecrire un programme assembleur qui recuper la date de system puis affecte dans jour le nombre de jour ,dans anne le nobre d'anne et dans moi s Simple addition [ par nostra ] Big totoJe n'arrive pas à afficher les valeurs A (=3) et B(=2) ainsi que le résultat de l'addition. Merci de trouver le ou les erreurs commises.;----- Addition pourtant simple [ par nostra ] Big totoJe n'arrive pas à afficher le résultat de l'addition malgré les remarques de Nemesis. Merci de trouver le ou les erreurs commises. ;---------- [NASM] émulateur NES [ par sirozz ] Bonjour à tous,Je me lance dans la programmation d'un émulateur de console NES en ASM avec NASM. J'avais déja fait un émulateur NES en VB il y a quelq


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,484 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales