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

Linux Discussion :

L'assembleur sous linux


Sujet :

Linux

  1. #1
    Membre du Club
    Inscrit en
    Décembre 2002
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 89
    Points : 69
    Points
    69
    Par défaut L'assembleur sous linux
    Salut à tous les linuxiens

    Bon voila ça fait un bout de temps que j'ai imigré sous linux
    je programme en c avec le compilateur GCC et j'ai entendu qu'on pouvait programmer aussi en assembleur sous linux. Ayant fait de l'assembleur sous DOS, je voudrais savoir si on pourrait faire tous ce qu'on peut faire en assembleur sous DOS.
    Comment peut on appeler les intérruption ? Y-a-t-il les equivalents des intérruptions du DOS sous linux.
    En bref où puis-je trouver de l'aide sur ce sujet.
    je vous remerci beaucoup
    :

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Mai 2002
    Messages : 19
    Points : 25
    Points
    25
    Par défaut
    Salut

    Je ne crois pas que les interuprions soit utilisable sous linux, tu dois utiliser les appelle systeme. Il ne faut pas oublier aussi que ton programme en assembleur ne seras plus du tous portable, si tu le programme sous linux avec processeur intel, il marcheras seulement pour linux avec processeur intel. c'est pour ca que le noyeau est presque entierement fait en C et non en assembleur a part le boot qui est different pour chaque platforme.

  3. #3
    Membre du Club
    Inscrit en
    Décembre 2002
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 89
    Points : 69
    Points
    69
    Par défaut
    merci à toi hot metal
    mais peut tu me donner un exemple d'appel système en assembleur sous linux je t'avoue que je ne pige rien je connait les appel système en C mais en assembleur je ne vois pas un petit exemple comme comment afficher un pixel sur l'écran
    merci a toi

  4. #4
    Membre expérimenté
    Avatar de nyal
    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    622
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2002
    Messages : 622
    Points : 1 428
    Points
    1 428
    Par défaut
    tiens c est cadeau.
    code provenant du compilo gcc. je voulais pas me faire chier à le faire la (pas le temps)

    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
    25
    26
    27
    28
    29
    30
    31
     
        .file   "plop.c"
            .version        "01.01"
    gcc2_compiled.:
    .text
            .align 16
    .globl main
            .type    main,@function
    main:
            pushl   %ebp
            movl    %esp, %ebp
            subl    $1032, %esp
            subl    $4, %esp
            pushl   $1024
            leal    -1032(%ebp), %eax
            pushl   %eax
            pushl   $0
            call    read
            addl    $16, %esp
            subl    $12, %esp
            leal    -1032(%ebp), %eax
            pushl   %eax
            call    puts
            addl    $16, %esp
            movl    $0, %eax
            movl    %ebp, %esp
            popl    %ebp
            ret
    .Lfe1:
            .size    main,.Lfe1-main
            .ident  "GCC: (GNU) 2.96 20000731 (slack)"
    pour apeller les appels systeme il suffit de faire un call aprés avoir "charger" les parametres

  5. #5
    Membre du Club
    Inscrit en
    Décembre 2002
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 89
    Points : 69
    Points
    69
    Par défaut
    merci à toi nyal

    mais à ce que je vois c'est une nouvelle archtecture de programmation differente de TASM et MASM sous DOS, je te remercie beaucoup mais je ne peux pas comprendre facilement ce code car il y a les mots que je ne comprend pas (je suppose que c'est les directives de compilation)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
        .file   "plop.c"
            .version        "01.01"
    gcc2_compiled.:
    .text
            .align 16
    .globl main
            .type    main,@function 
     
    .Lfe1:
            .size    main,.Lfe1-main
            .ident  "GCC: (GNU) 2.96 20000731 (slack)"
    en ce qui concerne les pushl et les autres instructions comme addl ou les registres comme %eax ... je peux me debrouller car elles ressemble à push , add et eax que j'ai utilisé, mais il reste beaucoup à apprendre et avec ce faussé je ne peux pas aller loin alors ma question est : est ce que il y a les tutoriels auquels je peux faire appel sur l'assembleur sous linux .

    merci d'avance

  6. #6
    En attente de confirmation mail

    Inscrit en
    Mars 2002
    Messages
    15
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 15
    Points : 154
    Points
    154
    Par défaut
    Lu,

    http://linuxassembly.org/
    http://optimum.sourceforge.net/asm/asm.html
    http://crpppc19.epfl.ch/doc/doc-linux-fr/fr/HOWTO/Assembly-HOWTO.html

  7. #7
    Membre du Club
    Inscrit en
    Décembre 2002
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 89
    Points : 69
    Points
    69
    Par défaut
    merci à Johann.Heymes

    je vais jeter un coup d'oeil

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment désinstaller MySQL sous linux
    Par nahmsath dans le forum Installation
    Réponses: 5
    Dernier message: 18/09/2007, 11h46
  2. [MIPS] Instructions Assembleur sous Linux
    Par spyder14 dans le forum Autres architectures
    Réponses: 5
    Dernier message: 17/02/2007, 11h50
  3. Assembleur sous Linux proche de TASM
    Par trash41 dans le forum Assembleur
    Réponses: 1
    Dernier message: 09/03/2006, 14h00
  4. Assembleur sous Windows et sous Linux
    Par Bibouda dans le forum x86 32-bits / 64-bits
    Réponses: 3
    Dernier message: 28/10/2002, 08h55
  5. Je ne peux établir une connexion cliente sous Linux.
    Par Anonymous dans le forum CORBA
    Réponses: 5
    Dernier message: 16/04/2002, 16h57

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