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 :

[Débutante] Masquage et décalages


Sujet :

Assembleur

  1. #21
    Membre actif

    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    339
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 339
    Points : 279
    Points
    279
    Par défaut
    oula, tu vas encore trop vite, regarde sur quelle ligne de l'algo le problème se pose !!!
    Si Carry = 1 alors BL <- BL + 1 Fin Si
    ça donne en asm :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    jnc pas_de_retenue   ; saute vers le label "pas_de_retenue" si carry=0
    inc bl                        ; bl=bl+1
    pas_de_retenue:

  2. #22
    Membre émérite
    Avatar de bolo
    Inscrit en
    Novembre 2002
    Messages
    1 309
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 309
    Points : 2 695
    Points
    2 695
    Par défaut
    La je ne fais juste un copier coller de la correction du prof

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    .model small
    .stack 100h
    .code
         mov bh,12h
    debut:
         mov al,bh
         cmp al,0
         jne suite
         mov al,0FFh
    suite:
         and al,0B8h
         mov bl,0
         mov cx,8
    boucle:
         shr al,1
         jnc suite2
         add bl,1
    suite2:
         loop boucle
         shr bl,1
         rcr bh,1
         jmp debut
         mov ah,4ch
         int 21h
    end
    je n'ai rien fait dessus

  3. #23
    Membre actif

    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    339
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 339
    Points : 279
    Points
    279
    Par défaut
    oui eh bien regarde au niveau du label "suite2" .... elle est là ton erreur. Bon lui il fait "add bl,1" et moi je fais "inc BL" mais c'est la même chose

  4. #24
    Membre émérite
    Avatar de bolo
    Inscrit en
    Novembre 2002
    Messages
    1 309
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 309
    Points : 2 695
    Points
    2 695
    Par défaut
    moi ce que je vois c'est il a rajouté deux instructions que je n'ai pas mises

    dans l'étiquette boucle :
    il a mis
    add bl ,1

    dans l'etiquette suite 2 : il a mis ca
    jmp debut

    Elle fait quoi je n'ai pas trouvé le saut jmp , il fait quoi exactement
    voila mon code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    .model small
    .stack 100h
     
    .code
    mov bh , 12h
     debut :
          mov al , bh
          cmp al , 0 
    			JNE suite1
    			mov al , 0FFh
     suite1:
         and al , 0B8h
    	   mov bl , 0
    		 mov cx , 8 ; compteur de la boucle
     boucle :
          shr al , 1
          inc bl
          JNC suite2
     suite2:
            loop boucle
    			  shr bl ,1
    	      rcr bl ,1
            mov ah,4Ch
    				int 21h
    end

  5. #25
    Membre actif

    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    339
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 339
    Points : 279
    Points
    279
    Par défaut
    dans l'étiquette boucle :
    il a mis
    add bl ,1
    C'est toujours la même erreur que tu ne vois pas ! regarde bien la ligne d'algo demandée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Si Carry = 1 alors BL <- BL + 1 Fin Si
    dans l'etiquette suite 2 : il a mis ca
    jmp debut

    Elle fait quoi je n'ai pas trouvé le saut jmp , il fait quoi exactement
    ça correspond à l'avant-dernière ligne de ton algo:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Aller à l'étiquette boucle (instruction jmp de l'assembleur)

  6. #26
    Membre émérite
    Avatar de bolo
    Inscrit en
    Novembre 2002
    Messages
    1 309
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 309
    Points : 2 695
    Points
    2 695
    Par défaut
    C'est toujours la même erreur que tu ne vois pas ! regarde bien la ligne d'algo demandée :
    la je ne vois pas car , j'ai la meme chose que le prof a part que je n'ai pas m'instruction

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    moi j'ai mis ca 
    boucle :
          shr al , 1
          inc bl
          JNC suite2
    lui ca
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     boucle:
         shr al,1
         jnc suite2
         add bl,1
    au lien de mettre add bl , j'ai mis inc bl , car dansun poste plus haut tu m'as dis que c'etais la meme chose

  7. #27
    Membre actif

    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    339
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 339
    Points : 279
    Points
    279
    Par défaut
    attention, ne confonds pas tout, tu as fait deux erreurs

    1) au niveau du inc bl tu fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    boucle : 
          shr al , 1 
          inc bl 
          JNC suite2
    Or on te demande d'incrémenter BL seulement si le Carry est mis à 1 après l'instruction "shr al,1", regarde bien l'algorithme qui t'es demandé.

    2) ton prof fait un "jmp debut" que toi tu ne fais pas. Cette ligne est la traduction de la ligne d'algo:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Aller à l'étiquette boucle (instruction jmp de l'assembleur)
    en gros, à la fin, ton code va être normalement identique à celui de ton prof sauf au niveau des labels qui seront différents et au niveau du "inc bl" qui lui fait un "add bl,1"

  8. #28
    Membre émérite
    Avatar de bolo
    Inscrit en
    Novembre 2002
    Messages
    1 309
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 309
    Points : 2 695
    Points
    2 695
    Par défaut
    j'ai honte , je pensais pas que savais une importance de mettre
    inc bl avant jnc suite2 ou apres




    merci pr ton aide

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Problème lecture de fichier / décalage et masquage binaire
    Par Lysan dans le forum Général Python
    Réponses: 2
    Dernier message: 28/07/2013, 17h27
  2. [Débutant] Opérateurs Bitwise (Décalage)
    Par crimetime dans le forum C
    Réponses: 2
    Dernier message: 03/06/2010, 11h17
  3. [LV8.0][Débutant]Registre à décalage dans un sous-vi
    Par pacman74 dans le forum LabVIEW
    Réponses: 2
    Dernier message: 05/05/2010, 13h34
  4. Réponses: 4
    Dernier message: 15/01/2010, 10h14
  5. [débutant]Décalage curseur de souris sur canvas
    Par pingoui dans le forum SWT/JFace
    Réponses: 2
    Dernier message: 18/03/2009, 17h57

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