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 :

Forcer jump short ou far


Sujet :

Assembleur

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    842
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 842
    Points : 696
    Points
    696
    Par défaut Forcer jump short ou far
    Est-ce qu'il y a un moyen de forcer un jump short à dedveir un jump near ou far ?

    (sur masm de préférence)

  2. #2
    Membre expérimenté
    Avatar de Juju_41
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Février 2003
    Messages
    974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Février 2003
    Messages : 974
    Points : 1 557
    Points
    1 557
    Par défaut
    Oui oui il y a moyen !!!

    J'ai pas ma doc sous les yeux, mais je penses que tu peux la retrouver sur Internet.
    Il te suffit en fait de "forcer l'instruction".
    J'ai un exemple en tête : lorsque l'on écrit
    On peut également écrire
    Il te suffit donc de retrouver la manière dont s'écrit en langage machine un jump (suivant qu'il soit near, short ou far c'est pas le même langage machine)

    Woala j'espère avoit été compréhensible dans ce bout d'explication
    Avant de poster, merci de consulter les règles du forum

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 19
    Points : 21
    Points
    21
    Par défaut
    ça devrait pouvoir se faire
    il faut connaitre les opcodes du jmp, d'après la donc intel :
    EBh pour un short
    E9h pour un near
    EAh pour un far

    il faut penser a mettre 3-4 nop après quans tu coderas le short.
    il suffira je pense juste de modifier l'opcode et de mettre l'adresse après

  4. #4
    Membre habitué

    Inscrit en
    Avril 2002
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 32
    Points : 150
    Points
    150
    Par défaut
    Citation Envoyé par Guru_Meditation
    il faut penser a mettre 3-4 nop après quans tu coderas le short.
    D'après ce que j'ai compris, Blustuff veut seulement forcer le compilateur à écrire un jump near ou far. Pas besoin de NOP, donc.

    il suffira je pense juste de modifier l'opcode et de mettre l'adresse après
    Oui mais attention cependant ! Les sauts SHORT et NEAR fonctionnent par distances signées entre le point de départ et le point d'arrivée, tandis que les sauts FAR utilisent un adressage SEGMENT:OFFSET.

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    842
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 842
    Points : 696
    Points
    696
    Par défaut
    merci bien, ca suffira, simplement, en pratique je met quoi ?

    je le remplacec par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
      db E9h
      dd labelpasloin - ici
    ici:
    ?

    (oubliez le jump far, ca n'a aucun interet, enfin pas pour moi)

  6. #6
    Membre habitué

    Inscrit en
    Avril 2002
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 32
    Points : 150
    Points
    150
    Par défaut
    Ben oui, c'est correct, mise à part l'écriture E9h qui se note en fait 0E9h. Mais je vois pas pourquoi tu veux forcer un jump near puisque de toute façon le compilateur ne met des jump short que si on le spécifie (en tout cas TASM).

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    842
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 842
    Points : 696
    Points
    696
    Par défaut
    sur MASM c pas toujorus comme ca, et c parce que j'utilise une structure particulière pour l'optimisation, et j'ai besoin de compter les octets des instrructions, donc j'ai besoin d'etrre sur de la taille de mes instructions

Discussions similaires

  1. [BASM] Comment faire un "Far Call" ?
    Par - Robby - dans le forum Langage
    Réponses: 3
    Dernier message: 03/09/2003, 08h56
  2. Forcer la saisie en MAJ dans un Formulaire
    Par lolos dans le forum IHM
    Réponses: 4
    Dernier message: 12/08/2003, 10h57
  3. Forcer l'affichage des dizaines...
    Par pataluc dans le forum Langage
    Réponses: 4
    Dernier message: 26/11/2002, 19h38
  4. djgpp et pointeurs far -2
    Par elvivo dans le forum Autres éditeurs
    Réponses: 16
    Dernier message: 29/07/2002, 22h43
  5. djgpp et pointeurs far
    Par elvivo dans le forum C
    Réponses: 2
    Dernier message: 13/07/2002, 00h44

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