Aller au contenu

Utiliser les PIC 16F et 18F/Exercices/Arithmétique et assembleur

Leçons de niveau 15
Une page de Wikiversité, la communauté pédagogique libre.
Arithmétique et assembleur
Image logo représentative de la faculté
Exercices no2
Leçon : Utiliser les PIC 16F et 18F
Chapitre du cours : Arithmétique et assembleur

Exercices de niveau 15.

Exo préc. :Architecture du 16F84
Exo suiv. :Les structures de contrôle et l'Arithmétique
En raison de limitations techniques, la typographie souhaitable du titre, « Exercice : Arithmétique et assembleur
Utiliser les PIC 16F et 18F/Exercices/Arithmétique et assembleur
 », n'a pu être restituée correctement ci-dessus.




Relisez l’article sur le système binaire pour commencer.

  1. Convertissez les nombres décimaux suivants en binaire (en représentation en complément à deux sur 8 bits) :
    • +11
    • -11
    • -23.
  2. Ensuite convertissez ces nombres en hexadécimal.
  3. Convertissez les nombres binaires suivants en décimal :
    • 111011
    • 11010101.
  4. Réaliser ensuite les soustractions suivantes en utilisant (i) la technique de soustraction normale ; (ii) une addition du complément à deux
    • 11011 - 10101
    • 11100 - 1001

(données en hexadécimal)

La directive utilisée pour réserver la mémoire RAM dans cet exercice est

CBLOCK 0x0C ; début de la zone variables en ACCESS RAM
		data1 :1  ; zone de 1 byte
		data2 :1 ; le resultat sera ici
ENDC ; Fin de la zone

On donne l'état (connaissance partielle : on ne connaît pas tout, mais c’est suffisant) suivant :

État partiel d'un PIC 16F, son compteur ordinal, quelques drapeaux du registre STATUS, sa mémoire programme et sa mémoire RAM
  1. D'après le schéma donné ci-dessus, désassembler la partie utile du code à l'aide des tableaux d'instructions du TD1 et TD2.
  2. Exécuter ensuite les instructions que vous pouvez et donner les états successifs.

Écrire un programme qui additionne deux valeurs en RAM ("donnee1" et "donnee2") et met le résultat dans une variable 8 bits "somme".