IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Assembleur Discussion :

Comment savoir le signe du nombre contenu dans ax ? [FAQ]


Sujet :

Assembleur

  1. #1
    Candidat au Club
    Inscrit en
    Mars 2004
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 4
    Points : 4
    Points
    4
    Par défaut Comment savoir le signe du nombre contenu dans ax ?
    pour savoir est ce que le registre ax "par exemple " a un nombre positive ou negatif on doit aller dans le flag et voir si (flag signe et overflow ont tout les deux la meme chose ) ou bien flag S=[1] &O=[1]=>positiv S=[0] & O=[1]
    => negativ
    c´est ca ce que je fais mais ca marche pas quand je travaille avec beaucoup
    de nombre dans la pile
    j´ai meme essaye de sauvegarder le Flag dans la pile et apres sauvegarder le nombre mais ca marche pas??

  2. #2
    Membre expérimenté
    Avatar de Juju_41
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Février 2003
    Messages
    974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Février 2003
    Messages : 974
    Points : 1 557
    Points
    1 557
    Par défaut
    Euuh désolé je ne sais pas si j'ai vraiment compris la question

    Pour savoir si tu as un nombre positif ou négatif dans AX, il faut déja que tu considères que le nombre représenté dans AX soit en 16-bit signé. Si c'est le cas, il est codé en code complément à 2 c'est à dire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     AX     Nombre représenté
     
    8000h : -32768
    8001h : -32767
     ...
    FFFEh : -2
    FFFFh : -1
    0000h : 0
    0001h : 1
     ...
    7FFFh : 32767
    ... pour résumer le bit 15 de AX correspond au signe de AX dans le cas où l'on considère que AX contient un nombre signé
    Avant de poster, merci de consulter les règles du forum

  3. #3
    Candidat au Club
    Inscrit en
    Mars 2004
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 4
    Points : 4
    Points
    4
    Par défaut le plus et le moi dans assembleur en Dos
    dans le cas de ax avec 16 bit tu va travailler seulement avec 15 bit le dernier sera reserver pour le signe
    mais si tu un overflow par example de gros calcul comment va tu savoir si ax est positiv ou negativ
    ma question est comment c´est le CPU que le nombre qu´on a ecrie est positiv ou negativ ????

  4. #4
    Membre expérimenté
    Avatar de Juju_41
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Février 2003
    Messages
    974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués

    Informations forums :
    Inscription : Février 2003
    Messages : 974
    Points : 1 557
    Points
    1 557
    Par défaut
    Le CPU ne peut pas le deviner ... c'est à toi de choisir l'opérateur approprié pour une opération signée ou non. Par exemple, ADD et ADC pour l'addition, SBB et SUB pour la soustraction si je me souviens bien.

    Regarde sur le forum la documentation sur ces instructions
    Avant de poster, merci de consulter les règles du forum

Discussions similaires

  1. Réponses: 2
    Dernier message: 13/08/2006, 23h56
  2. Réponses: 3
    Dernier message: 31/07/2006, 16h42
  3. Réponses: 1
    Dernier message: 26/06/2006, 14h16
  4. [VBA-E] Savoir si une cellule est contenue dans une plage
    Par psych0o0 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 10/05/2006, 14h12
  5. Réponses: 8
    Dernier message: 03/05/2006, 20h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo