Problème d'assembleur, help!
Répondre à la discussion
Affichage des résultats 1 à 11 sur 11

Problème d'assembleur, help!



  1. #1
    invite62588872

    Problème d'assembleur, help!


    ------

    Bonjour : )

    J'ai une question en ce qui concerne l'utilisation du jump en langage d'assemblage.

    Existe-t-il une limite de distance que l'on puisse parcourir en jumpant?

    J'ai un programme qui fait une petite centaine de lignes;

    Voici l'erreur à la compilation :
    **Error** tetes.ASM(20) Relative jump out of range by 0017h bytes

    En effet à la 20e ligne j'ai un cmp ah,0 ==> jmp fin
    Le label "fin" se trouve tout à la fin du programme.

    Si j'ai bien compris l'erreur, on ne peut pas jumper plus loin qu'une certaine distance, ce qui est légèrement geinant évidemment heh

    Merci beaucoup à celui ou celle qui peut me venir en aide !

    -----

  2. #2
    invitedebe236f

    Re : Problème d'assembleur, help!

    les jxx sont reinstreint de memoire a +127 -128 octets
    les jmp par contre vont bien plus loin
    les jmp far super loin

    t es sur que c est un jmp ?? pas un jnz ou autre ?

  3. #3
    invite62588872

    Re : Problème d'assembleur, help!

    voici le code :

    cmp al,'p'
    je fin

    donc oui c'est pas exactement un jmp, c'est un je.
    Ce n'est pas la même chose question distance etc?
    Je devrais mettre quoi à la place?
    Vivement le jour ou les profs nous expliqueront que ce qu'on voit aux cours est hyper limité

  4. #4
    umfred

    Re : Problème d'assembleur, help!

    Essai avec l'instruction beq fin (beq signifiant Branch if EQual) si cette instruction existe dans ton assembleur.

    sinon fait:
    je aller_fin
    ...
    ...
    aller_fin
    jmp fin

  5. A voir en vidéo sur Futura
  6. #5
    invite62588872

    Re : Problème d'assembleur, help!

    Le beq ne fonctionne pas.
    Je garde donc temporairement l'affreuse solution avec un label-étape

  7. #6
    umfred

    Re : Problème d'assembleur, help!

    Regarde si pour ton assembleur, ce ne serait pas plutot "be" que "beq" (oui j'y tiens à mon branchement, on m'a toujours dit d'éviter les jump mais après tout dépend du processeur pour lequel on écrit)

  8. #7
    invite62588872

    Re : Problème d'assembleur, help!

    Pas de "be" non plus :s

  9. #8
    invite62588872

    Re : Problème d'assembleur, help!

    Bon eh bien en développant un peu plus le code j'en suis arrivé à un point où 1 jump sur 2 est out of range.. Je suis complètement bloqué là

  10. #9
    umfred

    Re : Problème d'assembleur, help!

    essaie de rapprocher tes redirections de test ou alors utilise des label étapes a chaque fois avec des goto (si ils existent).

    Sinon essaie de revoir ton algorythme

  11. #10
    invite62588872

    Re : Problème d'assembleur, help!

    Boh là je me suis rendu compte que je m'étais lancé dans un projet impossible compte tenu de mes connaissances

    Je referai ça une fois qu'on aura un peu plus avancé dans la matière : )

    Merci pour votre aide !

  12. #11
    invitedebe236f

    Re : Problème d'assembleur, help!

    et non les jxx et jmp c est different comme j ai deja dit plus haut
    l astuce faire le test contraire

    cmp al,'p'
    jnz suite
    jmp fin
    suite:

Discussions similaires

  1. Réponses: 11
    Dernier message: 26/05/2011, 13h27
  2. Un petit problème qui me pause problème lol
    Par invitef2853e5d dans le forum Mathématiques du supérieur
    Réponses: 13
    Dernier message: 31/03/2009, 16h28
  3. problème avec un lecteur mp4(le problème vient de l'ordinateur)
    Par inviteaca1b987 dans le forum Matériel - Hardware
    Réponses: 3
    Dernier message: 29/10/2007, 17h53
  4. probleme comprehension du language d'assembleur
    Par invite522722ae dans le forum Électronique
    Réponses: 2
    Dernier message: 19/05/2007, 13h08
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...