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

Assembleur Discussion :

Comment coder les instructions assembleur en hexa ?


Sujet :

Assembleur

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2011
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2011
    Messages : 54
    Points : 21
    Points
    21
    Par défaut Comment coder les instructions assembleur en hexa ?
    Bonjour

    Pouvez-vous s'il-vous-plaît me donner un lien vers un cours qui traite de manière détaillée la méthode à travers laquelle je pourrais coder des instructions en hexa telles que :

    Code asm : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    MOVE.L	5(A0,D1),$0FF8000 
    ADD.L		#$02,(A4,D3)
    LEA		PILE(PC),A0
    MOVEM.L	D0-D4/A1-A5,$0FF8000


    Je sais qu'on peut voir le codage lors de l'exécution mais j'aimerais comprendre le fonctionnement et le faire manuellement, c'est-à-dire j'aimerais savoir comment on code les registres les modes d'adressage les adresses effectives. Toute aide ou éclaircissement serait appréciable et merci d'avance.

  2. #2
    Membre éprouvé Avatar de orfix
    Homme Profil pro
    Inscrit en
    Avril 2007
    Messages
    707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2007
    Messages : 707
    Points : 1 132
    Points
    1 132
    Par défaut
    Je suppose que ton microprocesseur appartient à la famille x86, premier lien qui me tombe sous les yeux.
    Amuses-toi bien
    To start press any key. (reading screen) Where's the "any" key? I see Esc, Catarl, and Pig Up. There doesn't seem to be any "any" key. Wo! All this computer hacking is making me thirsty. I think I'll order a Tab. (presses TAB key). -- HOMER --

  3. #3
    Membre actif Avatar de golden boy
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2010
    Messages
    120
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2010
    Messages : 120
    Points : 230
    Points
    230
    Par défaut
    (je suppose que par "hexa" tu veux dire le langage machine ou le code natif)

    Tu dois te procurer une table qui explicite les opcodes (les valeurs numériques que tu cherches) de chaque instruction "traditionnelle" en assembleur. Naturellement, il faut que tu cherches un document traitent du jeu d'instructions qui t'intéresse (x86, SSE...).
    Puis tu seras peut-être confronté à un obstacle selon le processeur ciblé : l'orientation des octets que tu devras savoir gérer si tu codes direct en code natif.

  4. #4
    Membre éclairé
    Avatar de edfed
    Profil pro
    être humain
    Inscrit en
    Décembre 2007
    Messages
    476
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : être humain

    Informations forums :
    Inscription : Décembre 2007
    Messages : 476
    Points : 701
    Points
    701
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par ssmario2 Voir le message
    Je suppose que ton microprocesseur appartient à la famille x86, premier lien qui me tombe sous les yeux.
    Amuses-toi bien
    on dirait plutôt les mnémoniques motorola.

    à première vue, c'est du 68k. comme le CPU des megadrive ou des MAC d'avant, par exemple.

    donc, pour convertir du code assembleur (les mnémoniques) en code machine (binaire vu en hexadécimal), il faut, quel que soit le processeur, utiliser les opcode map.

    l'opcode map contient, en un tableau, l'ensemble des divers encodages d'instructions.
    c'est parce qu'en interne, le décodeur d'instruction utilise les premier bits (ou octets) pour sélectionner la bonne unité d'exécution que la trame de base d'une instruction en binaire commencera toujours par un champ opcode, suivit ou non par un ou plusieurs champs opérandes.

    donc, si je googueulise un peu pour l'opcode map du 68k

    [top chrono 16:32]
    [stop chrono 16:33]
    bon, les premiers résultats laissent à désirer mais en 3eme position, on trouve un pdf dans le tampon google (j'arrive pas à accéder direct par l'adresse du site en free.fr qui est surement clos depuis belle lurette).

    http://www.google.fr/url?q=http://go...PDljt73yaBlOoA

    et voilà, pour la suite, il vaudrait mieux carrément passer par un compilo asm, quitte à le coder soi même, ce qui pourra te permettre d'implémenter la syntaxe que tu veux.

    parce que ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    MOVE.L 5(A0,D1),$0FF8000
    ADD.L #$02,(A4,D3)
    LEA PILE(PC),A0
    MOVEM.L D0-D4/A1-A5,$0FF8000
    ...

    c'est une syntaxe à se taper la tête contre les murs.

Discussions similaires

  1. Réponses: 2
    Dernier message: 28/09/2009, 13h15
  2. [AC-2007] Comment coder les boutons de commandes sous acces 2007
    Par njcom dans le forum VBA Access
    Réponses: 1
    Dernier message: 06/07/2009, 17h37
  3. Comment javascript execute t'il les instructions
    Par SPACHFR dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 30/03/2009, 17h45
  4. Réponses: 3
    Dernier message: 22/11/2007, 17h02
  5. Etude de toutes les instructions de l'Assembleur
    Par kapac dans le forum x86 16-bits
    Réponses: 3
    Dernier message: 10/09/2007, 12h42

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