Des problèmes en assembleur .
Répondre à la discussion
Affichage des résultats 1 à 5 sur 5

Des problèmes en assembleur .



  1. #1
    intertarik

    Talking Des problèmes en assembleur .


    ------

    salut tout le monde.
    je travaille sur un MicroPross 6809 et j'ai les deux problèmes suivant:
    - Si il vous plais, c'est quoi le code opérant de l'instruction LEAX -1,Y ou LEA 1,Y.
    - Comment calculer la durée totale d'un programme?
    avec une petite explication si possible .
    merci d'avance

    -----

  2. #2
    azad

    Re : Des problèmes en assembleur .

    Ces instructions çalculent une adresse et chargent cette adresse dans le double registre que le mnémonique contient.
    Par exemple si A contient 70, Y l'adresse F1A0 et X = 4AC4
    le calcul interne donne 70 + F1A0 = F310
    et après l'instruction LEAX A,Y
    A contient toujours 70, Y toujours F1A0 mais le registre (double) X contiendra l'adresse calculée soit X=F310. L'ancien contenu de X s'est envolé.
    Après cette opération, le registre d'état est modifié (le carry, je crois) à cause de l'extension de signe imposée par le calcul. Mais c'est vieux tout cela, et ma mémoire peut me jouer des tours.
    En tout cas, pour faire des transferts de data entre différents blocs mémoire c'était très puissant.
    Et pour la "durée" d'un programme, il faut sommer tous les cycles d'horloge que chaque instruction utilise. Ce qui n'est pas évident à priori quand le programme contient des boucles dont la durée dépend de ce que contient le compteur de boucle quand on y entre.
    En général et quand c'est critique on évalue plutôt le temps d'exécution d'une routine particulière dans le cas le plus défavorable.
    Mais je pense que si jherve voit ton post, il y répondra mieux que moi.

  3. #3
    jiherve

    Re : Des problèmes en assembleur .

    Bonjour,
    J'ai vu le post :
    LEAX,LEAY,LEAU,LEAS permettent de modifier les registre d'index X,Y,U,S.
    on peut ecrire:
    LEAX 10,X => X <= X+10;
    LEAX A,X => X <= X+A(accumulateur 8)
    LEAX D,X => X <= X+D(accumulateur 16)
    LEAX 8,S => X <= S+8
    ....
    Pour estimer un temps d’exécution c'est très fastidieux car comme Azad l'a écrit il faut tenir compte des temps variable d’exécution des branchements selon qu'il sont pris ou non. On peu par contre facilement borner en calculant une première fois avec tous les branchements pris et une seconde fois avec aucun des branchement actif, on aura un minimum minimorum et un maximum maximorum.
    JR
    l'électronique c'est pas du vaudou!

  4. #4
    intertarik

    Re : Des problèmes en assembleur .

    Merci AZAD et jiherve
    Le problème de LEAX est réglé , (Merci ).
    pour la durée , je parle de combien de temps est nécessaire pour exécuter un programme simple .Sachant que le microprocesseur est piloté par une horloge de fréquence F=4MHz.

  5. A voir en vidéo sur Futura
  6. #5
    gienas
    Modérateur

    Re : Des problèmes en assembleur .

    Bonjour intertarik et tout le groupe


    Citation Envoyé par intertarik Voir le message
    ... pour la durée , je parle de combien de temps est nécessaire pour exécuter un programme simple .Sachant que le microprocesseur est piloté par une horloge de fréquence F=4MHz.
    Un "programme simple" cela n'a pas de sens. Peut-être veux tu parler d'un sous programme ou encore une procédure. Le mieux, dans un tel cas, c'est de déclencher des tops hard juste avant et un autre juste après puis de mesurer à l'oscilloscope la durée qui sépare les tops.

    Avec une seule sortie, monter juste avant, et passer à zéro juste après.

    Le mieux, pour une observation "permanente", c'est de créer une boucle qui appelle la fonction à mesurer. On a ainsi un balayage permanent sur l'oscillo.

Discussions similaires

  1. Assembleur
    Par om38100 dans le forum Électronique
    Réponses: 13
    Dernier message: 21/11/2013, 01h44
  2. Assembleur
    Par invite7e907829 dans le forum Électronique
    Réponses: 3
    Dernier message: 14/10/2011, 18h53
  3. Assembleur Z80
    Par invitef41f23a0 dans le forum Électronique
    Réponses: 6
    Dernier message: 27/12/2009, 20h08
  4. C et assembleur
    Par inviteac09f73c dans le forum Électronique
    Réponses: 4
    Dernier message: 11/04/2009, 20h03
  5. assembleur
    Par invite3b1bb13d dans le forum Logiciel - Software - Open Source
    Réponses: 1
    Dernier message: 11/04/2009, 06h38
Découvrez nos comparatifs produits sur l'informatique et les technologies.