ASM/Basic
Répondre à la discussion
Affichage des résultats 1 à 19 sur 19

ASM/Basic



  1. #1
    invite3f2bb8c8

    ASM/Basic


    ------

    Bonjour,

    Je travaille sur un projet actuellement et je code un PIC16F887 en ASM via MPLAB.
    Je viens de récupérer un bout de code en Basic. J'aurai aimé savoir si il était possible d'intégrer ce morceau de code en basic dans à mon programme en ASM. Je n'ai rien pu trouver à ce sujet.

    Par avance, merci de votre aide

    -----

  2. #2
    PIXEL

    Re : ASM/Basic

    il te faudra le compilateur correspondant au basic utilisé.

    mais ce genre de greffe "à la hussarde" est source d'emmerdements calamiteux.

  3. #3
    invite7a49d0d5

    Cool Re : ASM/Basic

    Bonjour,
    Citation Envoyé par PIXEL Voir le message
    il te faudra le compilateur correspondant au basic utilisé.

    mais ce genre de greffe "à la hussarde" est source d'emmerdements calamiteux.
    je confirme...
    le plus "simple" et/ou "propre" serait de "traduire"
    ligne par ligne ton "bout de code de basic" en "asm"...
    puis l'insérer dans ton programme...

    vede
    ;O]
    _______________
    ...

  4. #4
    invite3f2bb8c8

    Re : ASM/Basic

    Ok, merci pour les réponses, c'est ce qu'il me semblait mais n'arrivait pas à le confirmer...
    Je ne suis pas très doué en Basic malheureusement et le code m'a l'air tout sauf simple, mais je crois que je n'ai d'autres choix que de m'y intéresser de plus près.

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

    Re : ASM/Basic

    C'est quoi comme Basic ?
    On peut peut-être t'aider.

  7. #6
    invite3f2bb8c8

    Re : ASM/Basic

    Et bien à dire vrai je ne sais pas vraiment... J'ai juste reconnu que c'était du basic après m'être promené sur des forums et avoir parcouru quelques tuto, mais je ne connais pas la différence entre les différents langages... C'est pour cette raison que j'aurais bien aimé pouvoir l'intégrer directement ^^ Je vais donc m'y plonger et si j'ai plus d'infos (ce que j'espère! ^^) et que je bloque encore (ce que je n'espère pas...) je reviendrai sur ce post.

  8. #7
    Gérard

    Re : ASM/Basic

    C'est quoi les instructions ?

  9. #8
    invite3f2bb8c8

    Re : ASM/Basic

    Voici un bout de code:

    ' Constantes
    Const CtePI = 3.14159265358979
    Const Cte2PI = CtePI * 2
    Const CteDegRad = (CtePI / 180)

    Function atn2 (ParX As Double, ParY As Double) As Double
    If (ParX > 0) Then
    atn2 = Atn (ParY / ParX)
    ElseIf (ParX = 0) Then
    If (ParY >= 0) Then
    atn2 = CtePI / 2
    Else
    atn2 = -CtePI / 2
    End If
    Else
    If (ParY >= ) Then
    atn2 = Atn (ParY / ParX) + CtePI
    Else
    atn2 = Atn (ParY / ParX) - CtePI
    End If
    End If
    End Function

  10. #9
    DAUDET78

    Re : ASM/Basic

    Faire de l'ArcTangente en ASM ..... j'espère qu'il y a une bibliothèque trigo sur Internet !
    J'aime pas le Grec

  11. #10
    invite3f2bb8c8

    Re : ASM/Basic

    C'est bien là mon soucis... Voilà pourquoi je voulais intégrer directement le code en Basic.

  12. #11
    PIXEL

    Re : ASM/Basic

    le site de MICROCHIP regorge de bibliothèques de soft.

    il faut fouiller un peu.

  13. #12
    PA5CAL

    Re : ASM/Basic

    Le code en basic ne fait que calculer l'arctangente d'un rapport en utilisant une fonction atn() préexistante. Ton problème principal est donc plutôt de calculer l'actangente d'une valeur.

    À l'école, on ne vous apprend plus à calculer les fonctions analytiques à la main ?

    Si tu as plein de calculs requérant des fonctions diverses, il serait plus simple de passer à un langage évolué (C ou Basic) et d'inclure dans ton programme des librairies mathématiques génériques. Mais comme ça prend beaucoup de place en mémoire, il faudra absolument prendre un autre microcontrôleur.

    Une autre solution serait de coder directement le calcul à effectuer. Pour cela il faudrait d'abord déterminer très précisément :
    - les autres calculs précédant et suivant ta fonction, en vue de simplifier le calcul global,
    - la plage de valeurs d'entrée et de sortie,
    - la précision requise pour le résultat, sans le surévaluer (important !),
    - la forme prise par les valeurs en entrée et en sortie (binaire/BCD, virgule fixe/flottante, norme éventuelle).

  14. #13
    invite3f2bb8c8

    Re : ASM/Basic

    Oui, je sais ce que fais mon code ^^, comme je l'ai dit, je me suis baladé sur des tutos, et j'ai pu reconnaitre la fonction. Ce n'est qu'un bout du code que j'ai récupéré. Ce n'était que pour illustrer mon problème.
    Et je sais également comment avoir ma fonction arctangente par le calcul. Mais j'aurais bien aimé éviter ça...
    Par ailleurs je me suis baladé sur le site de Microchip sans rien trouver d'intéressant me concernant.
    Au final, on peut conclure que la méthode "intégration du bout de Basic dans le programme en ASM" ne fonctionnera pas. Il me reste soit à me lancer dans un langage évolué comme le souligne PA5CAL, soit de tout retranscrire manuellement.

    Merci de votre aide.

  15. #14
    Gérard

    Re : ASM/Basic

    Tu peux aussi utiliser un tableau qui faire correspondre le résultat avec la valeur d'entrée.
    Consomme de la place en mémoire mais beaucoup plus rapide.

  16. #15
    gedonet

    Re : ASM/Basic

    Bonjour
    On trouve des routines mathematiques sur le site de Microchip, mais comme je les trouve un peu complexe, je prefere utiliser celles de ce site: http://www.piclist.com/techref/microchip/math/index.htm ou de celui la: http://www.dattalo.com/technical/software/software.php
    Mais je partage à 100% l'avis de Gérard, un tableau est tellement plus simple et rapide.
    Gilles

  17. #16
    PA5CAL

    Re : ASM/Basic

    Citation Envoyé par gedonet Voir le message
    Mais je partage à 100% l'avis de Gérard, un tableau est tellement plus simple et rapide.
    On ne peut savoir si cela peut convenir qu'en connaissant la précision requise et la quantité de mémoire encore disponible.

  18. #17
    PA5CAL

    Re : ASM/Basic

    Parmi les algorithmes indiqués par gedonet, on trouve un exemple de code de calcul d'arctangente pour PIC par ici.

  19. #18
    invite3f2bb8c8

    Re : ASM/Basic

    Oh c'est intéressant! Merci pour les pistes, je vais aller explorer ça de suite.

  20. #19
    Gérard

    Re : ASM/Basic

    Citation Envoyé par PA5CAL Voir le message
    On ne peut savoir si cela peut convenir qu'en connaissant la précision requise et la quantité de mémoire encore disponible.
    Je suis d'accord avec toi, mais nous n'avons pas ces données.
    On peut imaginer une table importante dans une EEPROM I2C par exemple.

Discussions similaires

  1. transfert GW basic vers basic ou visuel basic
    Par jean593 dans le forum Logiciel - Software - Open Source
    Réponses: 1
    Dernier message: 21/05/2010, 11h08
  2. ASM en C
    Par invited5705882 dans le forum Électronique
    Réponses: 2
    Dernier message: 28/04/2010, 12h03
  3. ASM to C
    Par heavydv dans le forum Électronique
    Réponses: 6
    Dernier message: 20/04/2010, 22h14
  4. .C et .ASM
    Par invitec1317d72 dans le forum Électronique
    Réponses: 4
    Dernier message: 07/05/2008, 13h05
  5. Basic ? Visual Basic ?
    Par invite1e5c24bd dans le forum Logiciel - Software - Open Source
    Réponses: 4
    Dernier message: 16/10/2006, 13h15
Découvrez nos comparatifs produits sur l'informatique et les technologies.