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 16-bits Assembleur Discussion :

Assemblage manuel d'instructions


Sujet :

x86 16-bits Assembleur

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2016
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2016
    Messages : 3
    Points : 3
    Points
    3
    Par défaut Assemblage manuel d'instructions
    Bonjour,

    J'ai un examen lundi sur l'assemblage manuel mais malheureusement je ne comprends pas grande chose.
    S'il vous plait, quelqu'un aurait bien la gentillesse de m'aider en m'expliquant comment on fait pour assembler manuellement ?

    Voici des exemples:

    Assembler manuellement les instructions suivantes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    MOV AX, DX
    MOV [DI], AL
    MOV [SI], 3421h
    MOV AH, 73h
    MOV BX, DS
    Merci d'avance.

  2. #2
    Expert éminent sénior
    Avatar de Kannagi
    Homme Profil pro
    cyber-paléontologue
    Inscrit en
    Mai 2010
    Messages
    3 226
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cyber-paléontologue

    Informations forums :
    Inscription : Mai 2010
    Messages : 3 226
    Points : 10 180
    Points
    10 180
    Par défaut
    Ben tu regarde ta table de opcode , par exemple : http://www.mathemainzel.info/files/x86asmref.html et puis tu assemble manuellement.
    Tu peux aussi regarde le code hexadécimal de ce que ton assembleur produit.

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2016
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2016
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    Malheureusement je ne comprends rien dans tout ca,
    j'avais cru pouvoir trouver de l'aide ici, des explications.

  4. #4
    Expert éminent sénior
    Avatar de Kannagi
    Homme Profil pro
    cyber-paléontologue
    Inscrit en
    Mai 2010
    Messages
    3 226
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cyber-paléontologue

    Informations forums :
    Inscription : Mai 2010
    Messages : 3 226
    Points : 10 180
    Points
    10 180
    Par défaut
    Disons que je pensais que t'avais eu quelque cours , je doute que votre prof vous donne ça sans avoir faire un seul cours.

    Bon pour faire court :
    une instruction assembleur donne un opcode par exemple :
    Donne en binaire 0x04 0x08

    Dans le lien que je t'ai donné : http://www.mathemainzel.info/files/x86asmref.html#add
    On a ceci : ADD AL,ib 04 i0
    Alors il y'a un petit chapitre qui t'explique ce que veut dire les mnémonique :
    ib = immédiate byte
    i0 = immédiate argument0

    Tu peux aussi écrire ton code assembleur sur un fichier texte , l'assembler avec nasm et l'ouvrir avec un éditeur hexadécimal .

    Maintenant si tu recherche un cours ,cherche sur tes propres cours , sur le net ect , c'est un forum d'aide pas de rattrapage de cours

  5. #5
    Responsable Pascal, Lazarus et Assembleur


    Avatar de Alcatîz
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Mars 2003
    Messages
    7 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Service public

    Informations forums :
    Inscription : Mars 2003
    Messages : 7 964
    Points : 59 673
    Points
    59 673
    Billets dans le blog
    2
    Par défaut
    Bonjour,

    Prenons l'exemple de l'instruction MOV AX,DX.

    Dans la table des opcodes, tu cherches ce qui compose l'instruction MOV registre,registre :
    1000 10dw mod,reg,r/m
    C'est certain, ton instruction assemblée commencera par 1000 10. Le bit d, pour un déplacement de registre à registre, vaut 1. Comme il s'agit de registres 16 bits, w vaudra également 1. On avance : le premier octet de l'instruction sera 1000 1011.

    La première opérande sera codée dans reg et la seconde dans mod-r/m.

    Occupons-nous du registre de destination, qui sera codé dans les trois bits de reg : le registre AX est codé par la valeur 000. Passons enfin au couple mod-r/m. L'instruction ne faisant intervenir que des registres, le code du mode registre est 11 : mod = 11. Le registre DX est codé dans les trois bits de r/m : 010. C'est terminé : l'instruction est assemblée en 1000 1011 1100 0010.


  6. #6
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2016
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2016
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    Très bien,
    c'est beaucoup plus claire.
    merci

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

Discussions similaires

  1. [AC-2003] Création de manuel d'instructions.. pb de sous formulaire
    Par Didier71 dans le forum IHM
    Réponses: 7
    Dernier message: 09/08/2012, 19h35
  2. [AC-2003] Création de manuels d'instructions
    Par Didier71 dans le forum Modélisation
    Réponses: 28
    Dernier message: 08/08/2012, 07h10
  3. Réponses: 1
    Dernier message: 24/09/2008, 15h12
  4. Assemblage d'une instruction jmp
    Par Nitro386 dans le forum x86 16-bits
    Réponses: 12
    Dernier message: 28/12/2007, 21h17
  5. Assemblage manuel
    Par syraks dans le forum Assembleur
    Réponses: 4
    Dernier message: 01/06/2003, 00h08

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