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

x86 32-bits / 64-bits Assembleur Discussion :

Débuter dans la programmation Assembleur avec le Terminal Mac OS X


Sujet :

x86 32-bits / 64-bits Assembleur

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2013
    Messages : 5
    Points : 4
    Points
    4
    Par défaut Débuter dans la programmation Assembleur avec le Terminal Mac OS X
    Bonjour à tous,

    Voilà maintenant un bon bout de temps que je tente en vain d'essayer quelques lignes de code en Assembleur.
    Voici ma situation: Je suis avec un MacBook Pro 64bits avec Mac OS X version 10.7.4, mon processeur est un Intel Core i5.
    En se qui concerne mon compilateur, j'ai le choix entre le NAsm ou le GCC et je ne sait lequel utiliser et quelle commande taper pour compiler?

    Donc voilà mes questions:
    - Que pouvez-vous me conseiller pour débuter l'assembleur (cours/tutos?) sachant que j'ai déjà de solides bases en C, python et PHP.
    - Quel compilateur me conseillez-vous et quelle commandes dois-je donc taper pour exécuter mes scripts?
    - Connaitriez vous un bon livre (français ou anglais) pour débuter.

    Merci d'avances pour vos réponses,
    J’espère avoir été assez claire dans mes questions.

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 169
    Points : 251
    Points
    251
    Par défaut
    Alors d'abord, GCC n'est pas un assembleur, c'est un compilateur. Comme assembleur, tu as nasm (que je te recommande), as (par défaut sous OSX), yasm, ...

    Pour débuter, regarde ici et ici par exemple. Mais choisis tout de suite si tu veux faire de l'ASM en 32 ou 64 bits. Personnellement, je te conseillerais de partir directement sur du 64bits afin d'écrire du code «moderne». De plus, je ne suis pas sûr qu'OS X 64b puisse faire tourner des programmes 32b.

    Enfin, voici par exemple une commande pour compiler et linker un programme assembleur (on ne parle pas de scripts ) avec nasm et gcc :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    nasm -f macho64 -g -o out.o out.s && gcc -g -o out out.o
    Si tu as une bonne expérience du C, tu remarqueras l'option -g qui permet de générer des symboles de debug afin de simplifier ce dernier.

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2013
    Messages : 5
    Points : 4
    Points
    4
    Par défaut
    Tout d'abord merci de ta réponse si rapide et si claire.

    Ensuite, à propos de l'assembleur, il me semble que je possède déjà nasm installé sur ma machine car quand je tape la ligne de code suivante:
    j'obtiens la 'réponse' suivante:
    (en effet j'ai changé le répertoire par défaut de mon terminal.)

    De plus je n'ai pas encore regardé les liens que tu me propose mais il me reste une dernière question: à quoi sert l'instruction macho64 dans la ligne de code que tu me donnes?

    Edit: Je viens de jeter un coup d’œil aux liens que tu me proposes, j'avais déjà regardé sur les tutos du forum avant sans grande satisfaction. En revanche le second lien m'a l'aire fortement inintéressant, merci!

    Merci de tes réponses

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 169
    Points : 251
    Points
    251
    Par défaut
    Effectivement, mais la version de nasm fournie avec OS X, bien que tout à fait fonctionelle, est relativenebt ancienne.

    Le -f macho64 sert à définir le format d'éxécutable à produire. OS X ne support que le MachO(64) (et peut-être le a.out, mais c'est très ancien), Linux surtout le ELF, Windows le PE, etc.

Discussions similaires

  1. Choix de bonnes références pour débuter dans la programmation d'OS
    Par nschoe dans le forum Programmation d'OS
    Réponses: 8
    Dernier message: 01/04/2009, 15h42
  2. Réponses: 7
    Dernier message: 12/03/2008, 15h53
  3. Réponses: 2
    Dernier message: 11/12/2007, 08h38
  4. Réponses: 4
    Dernier message: 02/05/2007, 16h18

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