Partage
  • Partager sur Facebook
  • Partager sur Twitter

Micro PIC18F - Problème flag négatif

    13 novembre 2023 à 13:33:17

    Bonjour à tous,
    Depuis quelques jours maintenant, je suis en train d'essayer d'implémenter la fonction division au sein de mon PIC18F4550.
    Le microcontrôleur 8bits à de bases toutes ces instructions: http://technology.niagarac.on.ca/staff/mboldin/18F_Instruction_Set/
    Globalement, je ne peux faire que des additions et des soustractions, des multiplications des comparaisons et des shifts.
    Afin d'implémenter la division - qui me servira à afficher des nombres sur 4 afficheurs 7-segments - je soustrais le dénominateur au numérateur, autant de fois qu'il est nécessaire (avec une boucle) afin que ce nombre devienne négatif. La fonction stock en mémoire le résultat de la division ainsi que le modulo.
    Cependant je rencontre un problème lors de l'implémentation de cette fonction. Elle fonctionne parfaitement bien avec un numérateur inférieur ou égal à 137 (0x89). Cependant, à partir de 138 (0x8A), je quitte ma fonction directement après le premier calcul (par exemple pour la première itération 138 - 10 => 128) en me levant le flag négatif.
    Par ailleurs en écrivant ce topic, je me rends compte que cette valeur de 128 peut-être liée au bit signé de poids fort..
    Plusieurs questions donc:
    - Avez-vous une piste à explorer pour la division par 10 ?
    - S'il s'agit bien du problème de complément à deux, y a t'il une solution sur PIC18F pour " l'ignorer "?
    Pour les curieux, voici la documentation du PIC18F:
    Le flag négatif est levé par le registre STATUS (page 54).
    En vous remerciant par avance pour votre aide.

    -
    Edité par 238 13 novembre 2023 à 13:33:31

    • Partager sur Facebook
    • Partager sur Twitter
      14 novembre 2023 à 20:14:00

      Bonjour,

      Pose ta question ici : https://www.fantaspic.fr/index.php

      On y parle PIC.

      • Partager sur Facebook
      • Partager sur Twitter
      Le 25 juillet 2016, j'ai essayé une Ford Mustang.

      Micro PIC18F - Problème flag négatif

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      • Editeur
      • Markdown