[Débutant] Langage Assembleur

Résolu
Caliphe Messages postés 31 Date d'inscription   Statut Membre Dernière intervention   -  
Caliphe Messages postés 31 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
j'ai commencé à apprendre ce langage il y a quelque jour pour un examen et j'ai besoin d'un petit coup de main :
comment enlever l'octet de poids faible d'un registre, par exemple
AX = 10101101 01010101
pour qu'il devienne AX = 10101101 00000000

J'ai d'abord pensé à faire
SUB AX, AL mais c'est impossible car ils ne font pas la même taille.
l'instruction doit être de la forme :
INSTRUCTION AX, OPERANDE

Merci à vous ! :)

1 réponse

  1. ElementW Messages postés 5690 Statut Contributeur 1 293
     
    'lut,
    and ax, 0xFF00
    dans l'idée.
    and $0xFF00, %ax
    en syntaxe AT&T
    and ax, FF00h
    en syntaxe Intel
    À suffixer avec
    w
    si besoin.
    Ou, sachant que AL est le registre de l'octet de poids faible de AX,
    mov $0, %al
    en syntaxe AT&T
    mov al, 0
    en syntaxe Intel
    À suffixer avec
    b
    si besoin.
    from human import idiocy
    del idiocy
    1
    1. Caliphe Messages postés 31 Date d'inscription   Statut Membre Dernière intervention  
       
      Salut et merci d'avoir répondu !
      Le problème c'est que je sais que AX contient quelque chose mais je ne sais pas quoi :/
      En gros on a une valeur dans la registre AX et on voudrait extraire les 8 bits de gauche du nombre stocké dans AX. On le fera en masquant l'octet de poids faible comme dans l'exemple cité avant.
      0
      1. ElementW Messages postés 5690 Statut Contributeur 1 293 > Caliphe Messages postés 31 Date d'inscription   Statut Membre Dernière intervention  
         
        Bah oui, où est le problème? Ces instructions n'ont pas besoin de savoir quel est le contenu de AX à l'avance...
        0
    2. Caliphe Messages postés 31 Date d'inscription   Statut Membre Dernière intervention  
       
      Hum, je ne comprend pas bien comment fonctionne concrètement l'instruction and, pourrais-tu me l'expliquer ?
      Merci ! :)
      0
    3. Caliphe Messages postés 31 Date d'inscription   Statut Membre Dernière intervention  
       
      Ah je viens de comprendre ! Merci beaucoup pour ton aide ! :)
      0