Tom's Guide > Forum > Programmation > probleme assembleur
Mot :    Pseudo :           
 

bonsoir!!

j'ai un petit probleme de comprehension!!

si eax = 1001101010 (en binaire)

je fais ensuite l'instruction:
shl eax, 7

quelle sera la valeur de eax apres cette instruction??

merci d'avance :)

Liens sponsorisés
Inscrivez-vous ou connectez-vous pour masquer ceci.

Citation :

eax = 10 0110 1010


normalement c'est 32 bits mais on fera avec 10 :)

Citation :

shl eax, 7


cela va faire décaler tous les bits de EAX 7 fois sur la gauche en ajoutant des 0 pour boucher les trous.
10 0110 1010
01 0011 0101 1x
00 1001 1010 2x
00 0100 1101 3x
00 0010 0110 4x
00 0001 0011 5x
00 0000 1001 6x
00 0000 0100 7x

Cela revient à diviser par 2^7 = 128

Vous pouvez aussi utiliser la calculatrice de Windows en mode Binaire.


Répondre à milmot

Tu viens de faire un shr (SHift Right) pas un shl (SHift Left), non ? ;-)

Répondre à CRicky

Citation :

Tu viens de faire un shr (SHift Right) pas un shl (SHift Left)


C'est exact: j'ai toujours eu du mal à reconnaître ma droite de ma gauche :) Le principe reste le même mais dans l'autre sens (donc on multiplie par 128).

Répondre à milmot
Tom's Guide > Forum > Programmation > probleme assembleur
Aller à :

Il y a 824 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.

Attention

Vous allez répondre sur un sujet resté inactif pendant plus de 6 mois.
Assurez-vous d'apporter des éléments nouveaux à la discussion avant de poursuivre.

Répondre Annuler
Liens