begin process at 2010 02 10 00:48:15
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Assembleur

 > 

Système d'exploitation

 > 

Linux

 > 

[NASM-Linux] Problème de buffer


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

[NASM-Linux] Problème de buffer

samedi 5 janvier 2008 à 00:02:53 | [NASM-Linux] Problème de buffer

yann2192

Bonjour à tous, je me suis lancé dans l'assembleur 32bits avec les appels linux et j'ai un problème.

Je récupére le chemin d'un fichier entrer par l'user avec read dans un buffer et je n'arrive pas à ouvrire le fichier avec le buffer

voici le code qui pose probleme :

BITS 32
 
     SECTION .data
        bufsiz      dd 1024 ; taille du buffer

    SECTION .bss
        buf    resb 1024
       
     SECTION .text
         GLOBAL _start
        
         _start:
 
        mov eax, 3 ; Fonction READ
        mov ebx, 0 ;
        mov ecx, buf ; stoke dans buf
        mov edx, bufsiz
        int 0x80
       
        mov eax, 5 ; Fonction OPEN
        mov ebx, buf ; Chemin   
        mov ecx, 10 ; Flag
        mov edx, 0 ; Mode
        int 0x80

Il n'y a pas d'erreur d'assemblage mais le fichier n'est pas ouvert.

Avez vous une idée ?
       
lundi 7 janvier 2008 à 10:55:30 | Re : [NASM-Linux] Problème de buffer

_dune2_

Membre Club
Salut,

Dans le fichier /usr/include/bits/fcntl.h :

#define O_ACCMODE          0003
#define O_RDONLY             00
#define O_WRONLY             01
#define O_RDWR               02
#define O_CREAT            0100 /* not fcntl */
#define O_EXCL             0200 /* not fcntl */
#define O_NOCTTY           0400 /* not fcntl */
#define O_TRUNC           01000 /* not fcntl */
#define O_APPEND          02000
#define O_NONBLOCK        04000
#define O_NDELAY        O_NONBLOCK
#define O_SYNC           010000
#define O_FSYNC          O_SYNC
#define O_ASYNC          020000

ton paramètre flag à la fonction open est : 10, soit "00001010" donc 010 + 002 en octal,
or 010 ne correspond à aucune option ....
Ensuite, y-a-t-il un code d'erreur de retour ??
Si tu exécutes pas-à-pas ton appli avec gdb, peux-tu confirmer que ton "buf" contient bien
le nom du fichier que tu as entré ?

Dune2

Gentoo... que du bonheur ...
lundi 7 janvier 2008 à 15:15:00 | Re : [NASM-Linux] Problème de buffer

yann2192

J'ai essayer de remplacer la fonction ouverture fichier par écriture dans console et le buffer contient bien mon fichier : test.txt

Si cela vient du flag d'ouverture je vais le modifier ce soir et je retesterai

Yann
dimanche 13 janvier 2008 à 10:06:17 | Re : [NASM-Linux] Problème de buffer

yann2192

Non sa ne vient pas du flag, j'ai essayer d'ouvrire le fichier avec ce morceau :

section .data
fichier    dd "test.txt",0


et cela marche à la perfection donc je pense qu'il doit y'avoir une manipulation sur le buffer avant de l'utiliser mais laquel ?


Cette discussion est classée dans : buffer, problème, linux, mov, buf


Répondre à ce message

Sujets en rapport avec ce message

débutant qui a un prob avec l'int21h [ par sibi12 ] salut voivi mon code : mov ah, 09h mov dx, offset buffer int 21hbuffer a été déclaré comme ca: buffer db 50 dup(0)le compilateur me met problème d'horloge [ par gctom ] bonjour a tousje vous expose mon problème :je dois réaliser uen horloge qui permet d'afficher l'heure la date et autre chose.ceci étant fait je passe [Débutant] Problème de compiler [ par casafa ] Bonjour,Voila le code que j'esseye de compiler:MOV DX,offset MessageMOV AH,9INT 21hMOV AX,04c00hINT 21hMessage DB"Hello World !$"Avec le compilateur A Saisie clavier [ par RM50Man ] Dans le code je dos saisir une chaine mais a aucun moment le progme permet de la saisir!!!!Comment faire pour entrer une chaine? mov ah, 0ch ;effaceme masm32 buf variable [ par skotmarud ] bonsoir,j'ai un probleme pour créer un buffer à taille variable pourtant je suis tombé sur ce post : http://www.asmfr.com/infomsg_MASM32-COMENT-DECLAR Graphique [ par RM50Man ] Bonjour a tous!!!!Je veux tracer une ligne mais ca ne marche pas, je passe les parametre par la pile,et ensuite ds la fonction principale, je remplis Problème d'affichage de programme après compilation [ par li2k ] Salut tout le Monde.Bon voilà, dans le cardre d'un projet scolaire, j'ai écris un programme assembleur avec l'émulateur "Emul8086".dans ce programme j Problème d'adresse effective [ par Ihlianov ] Hi,J'ai un problème avec NASM, qui me rend cinglé.Je code un .Com (16 bits) et il me revoit une erreur sur l'instruction suivante : mov ax, [d Et linux dans tout ça ?!!! [ par progfou ] Lu tt le monde !Il y a 2 choses que je trouve dommage :- vous ne parlez (quasiment) pas de linux et de la programmation système sous ce système d'expl probleme avec l interruption affichage de chaine [ par M0NTOYA ] bon voila mon probleme ,qd j utilse cette procedure(presentation) pour afficher une chaine de caractere presentation PROC PUSHA MOV AH,09h INT 21h POP


Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
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,218 sec (4)

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