soustraction 16 bits,deux registres 8 bits, assembleur
Répondre à la discussion
Affichage des résultats 1 à 6 sur 6

soustraction 16 bits,deux registres 8 bits, assembleur



  1. #1
    invite480f4512

    soustraction 16 bits,deux registres 8 bits, assembleur


    ------

    Bonjour,
    Je programme un PIC en assembleur, et j'aurais besoin d'effectuer une soustraction de deux registres qui forment un nombre 16 bits par deux autres registres qui forment également un nombre 16 bits.

    C'est en fait la valeur du timer1 qui est un compteur 16 bits placé dans deux registres différents 8 bits.

    Mon problème est surtout pour traiter les cas où on a des nombres négatifs... je ne saisis pas trop comment procéder.

    Quelqu'un peut m'aider?

    Merci!

    -----

  2. #2
    invitee05a3fcc

    Re : soustraction 16 bits,deux registres 8 bits, assembleur

    Que le nombre soit positif ou négatif, sur 8 , 16 ou 128 Bits, quelque soit le µC, l’algorithme de calcul de la soustraction est le même .

  3. #3
    invite936c567e

    Re : soustraction 16 bits,deux registres 8 bits, assembleur

    Bonjour

    Si tu sais poser une soustraction (normale, en base 10), alors tu sais comment procéder. On fait pareil.

    Quant au signe des valeurs, ça ne pose absolument aucun problème avec la représentation "complément à deux" : le traitement des nombres signés et non signés est identique (à ceci près que dans le second cas le signe doit être propagé vers la droite quand on augmente la taille des registres, mais tu n'as pas à le faire dans le cas présent).

    Un exemple ?
    Code:
                  MSB      LSB
    Valeur 1 = 00101010 10010000 (10896)
    Valeur 2 = 01101110 11010001 (28369)
    
    10010000 - 11010001 = 10111111 ; retenue = 1
    01101110 + retenue = 01101111
    00101010 - 01101111 = 10111011 ; retenue = 1
    
    Résultat = 10111011 10111111 (-17473)
    EDIT: grillé par DAUDET78

  4. #4
    invite71a6c60d

    Re : soustraction 16 bits,deux registres 8 bits, assembleur

    [troll]
    en c:

    Resultat = Valeur1 - Valeur2;

    [/troll]

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

    Re : soustraction 16 bits,deux registres 8 bits, assembleur

    Citation Envoyé par hulk69 Voir le message
    [troll]
    en c:

    Resultat = Valeur1 - Valeur2;

    [/troll]
    non pas troll....lucidité

  7. #6
    invite480f4512

    Re : soustraction 16 bits,deux registres 8 bits, assembleur

    Merci beaucoup pour vos réponses!

Discussions similaires

  1. PIC assembleur et gestion de mots de 16 bits
    Par invite427c7eae dans le forum Électronique
    Réponses: 10
    Dernier message: 07/10/2009, 06h53
  2. [C] - Passage de mots de n bits en mode de 8 bits
    Par invite3c35244f dans le forum Électronique
    Réponses: 17
    Dernier message: 30/07/2009, 11h02
  3. récupération du mot de 8 bits sur 4 bits
    Par grd666 dans le forum Électronique
    Réponses: 3
    Dernier message: 09/07/2008, 11h16
  4. algorithme pour decoder 4 bits en 16 flags en assembleur
    Par invite7ff929b6 dans le forum TPE / TIPE et autres travaux
    Réponses: 1
    Dernier message: 16/05/2006, 19h06
  5. Convertir 12 bits série en 7 bits paralléle avec un HC11 ?
    Par invite0ee134f7 dans le forum Électronique
    Réponses: 2
    Dernier message: 03/03/2005, 09h39
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...